Skip to Content

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

(Доступно с версии Primo.AI.Server 1.0.13)

alt

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

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

Свойства

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

ГруппаСвойствоТипОписание
ВыводРезультатPrimo.AI.Server.Tools.SmartOcr.TextNearToFieldSearcherResultРезультат поиска текста рядом с полем
ОбработкаНаименование поля*StringНазвание поля, относительно которого выполняется поиск текста
Расстояние по горизонтали*intМаксимальное расстояние по горизонтали (в пикселях) от поля для поиска текста
Расстояние по вертикали*intМаксимальное расстояние по вертикали (в пикселях) от поля для поиска текста
Результат распознавания*Primo.AI.Server.Model.InferenceResultContentРезультат распознавания изображения

Primo.AI.Server.Tools.SmartOcr.TextNearToFieldSearcherResult

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

СвойствоТипОписание
IsFoundBooleanФлаг наличия найденных элементов. True – если найдены текстовые блоки, False – если ничего не обнаружено.
ItemsSystem.Collections.Generic.IReadOnlyCollection<Primo.AI.Server.Tools.SmartOcr.TextNearToField>Коллекция найденных текстовых элементов

Primo.AI.Server.Tools.SmartOcr.TextNearToField

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

СвойствоТипОписание
IsFoundBooleanФлаг успешности поиска
SourceFieldPrimo.AI.Server.Model.InferenceResultItemИсходное поле для поиска
UnifiedTextStringОбъединенный текст элементов
ItemsSystem.Collections.Generic.IReadOnlyCollection<Primo.AI.Server.Model.InferenceResultItem>Элементы распознавания
CropAreaSystem.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.
  • Проверка IsFound: