Skip to Content

Найти текст рядом с полем

alt

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

  • Даты рядом с подписью
  • Номера документов возле заголовков
  • Комментарии рядом с полями ввода

Свойства

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

Вывод

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

Обработка

  1. Наименование поля* [String] - Название поля, относительно которого выполняется поиск текста.
  2. Расстояние по горизонтали* [int] - Максимальное расстояние по горизонтали (в пикселях) от поля для поиска текста.
  3. Расстояние по вертикали* [int] - Максимальное расстояние по вертикали (в пикселях) от поля для поиска текста.
  4. Результат распознавания* [Primo.AI.Server.Model.InferenceResultContent] - Результат распознавания изображения.

Primo.AI.Server.Tools.SmartOcr.TextNearToFieldSearcherResult

Содержит результаты поиска текста:

  1. IsFound [Boolean] - Флаг наличия найденных элементов. True – если найдены текстовые блоки, False – если ничего не обнаружено.
  2. Items [System.Collections.Generic.IReadOnlyCollection<Primo.AI.Server.Tools.SmartOcr.TextNearToField>] - Коллекция найденных текстовых элементов.

Primo.AI.Server.Tools.SmartOcr.TextNearToField

Описание найденного текстового элемента:

  1. IsFound [Boolean] - Флаг успешности поиска.
  2. SourceField [Primo.AI.Server.Model.InferenceResultItem] - Исходное поле для поиска.
  3. UnifiedText [String] - Объединенный текст элементов.
  4. Items [System.Collections.Generic.IReadOnlyCollection<Primo.AI.Server.Model.InferenceResultItem>] - Элементы распознавания.
  5. CropArea [System.Drawing.Rectangle] - Границы области с найденным текстом.

Как это работает?

  1. Определение границ поля

    • Система находит указанное поле в результатах распознавания.
  2. Расширение зоны поиска

    • Вокруг поля формируется область с учетом Расстояния по горизонтали и Расстояния по вертикали.
  3. Поиск текста

    • Все текстовые блоки, попадающие в расширенную зону, сохраняются.
  4. Формирование результата

    • Тексты объединяются в UnifiedText, а координаты сохраняются в CropArea.

    Пример использования

Вход:

  • Поле: "Подпись"
  • Расстояние по X: 200
  • Расстояние по Y: 50

Результат:

{ "IsFound": true, "Items": [ { "IsFound": true, "SourceField": { "Text": "Подпись", "BoundingBox": [100, 200, 180, 220] }, "UnifiedText": "Дата: 15.05.2024", "Items": [ { "Text": "Дата:", "BoundingBox": [80, 180, 120, 200] }, { "Text": "15.05.2024", "BoundingBox": [130, 180, 220, 200] } ], "CropArea": { "X": 80, "Y": 180, "Width": 140, "Height": 20 } } ] }

Рекомендации

  • Оптимальные расстояния:
    • Для табличных документов – dist_x = 100-200, dist_y = 30-50.
    • Для текстовых документов (письма, договоры) – dist_x = 200-300, dist_y = 50-100.