Skip to Content

Найти текст в области

alt

Элемент выполняет поиск текстовых данных в заданных ячейках виртуальной сетки, наложенной на изображение документа. Основные сценарии использования:

  • Извлечение данных из табличных структур
  • Поиск информации в формализованных бланках
  • Обработка документов с четкой структурой расположения данных

Перед началом работы

Установите в Студии библиотеку Primo.AI.Server.

Свойства

Символ * указывает на обязательность заполнения свойства. Описание общих свойств см. в разделе Свойства элемента.

Обработка

  1. Результат распознавания [Primo.AI.Server.Model.InferenceResultContent] - Результаты работы OCR-движка с координатами распознанных элементов.
  2. Ширина изображения [int?] - Физическая ширина изображения в пикселях.
  3. Высота изображения [int?] - Физическая высота изображения в пикселях.
  4. Изображение [String] - Путь к файлу изображения (поддерживаемые форматы: JPG, JPEG, PNG).
  5. Количество строк [int] - Количество горизонтальных линий сетки (делят высоту). По умолчанию установлено значение 2.
  6. Количество колонок [int] - Количество вертикальных линий сетки (делят ширину). По умолчанию установлено значение 2.
  7. Ячейки для поиска [List<System.Tuple<int, int>>] - Список целевых ячеек в формате (строка, колонка), индексация с 1.

Вывод

  1. Результат [Primo.AI.Server.Tools.SmartOcr.TextInAreaSearcherResult] - результат поиска текста

Свойства выходных данных

Тип: Primo.AI.Server.Tools.SmartOcr.TextInAreaSearcherResult

  1. IsFound [Boolean] - Флаг успешности поиска (true - если найдены совпадения).
  2. Items [IReadOnlyCollection<TextInArea>] - Коллекция найденных текстовых элементов.

Структура TextInArea

  1. IsFound [Boolean] - Флаг наличия текста в области.
  2. UnifiedText [String] - Объединенный текст всех найденных элементов.
  3. Items [IReadOnlyCollection<InferenceResultItem>] - Детализированные результаты распознавания.
  4. CropArea [Rectangle] - Геометрия области поиска (координаты).

Принцип работы

  1. Построение сетки:

    • Изображение делится на виртуальные ячейки согласно указанным:
      • Количество строк (по вертикали, по умолчанию: 2)
      • Количество колонок (по горизонтали, по умолчанию: 2)
    • Размеры ячеек рассчитываются автоматически:
      • Ширина = (ширина изображения) / (кол-во колонок)
      • Высота = (высота изображения) / (кол-во строк)
  2. Определение целевых областей:

    • Для каждой ячейки из Ячейки для поиска вычисляются фактические координаты
    • Пример: для ячейки (2,3) в сетке 4x3 будут рассчитаны точные границы
    • По умолчанию (если ячейки не указаны) поиск выполняется во всех ячейках
  3. Поиск текстовых элементов:

    • Анализируются все элементы распознавания
    • Отбираются только те, которые полностью попадают в целевую область
  4. Формирование результата:

    • Найденные элементы упорядочиваются (слева-направо, сверху-вниз)
    • Тексты объединяются в свойство UnifiedText.