ДЕЙСТВИЯ В SHERPA DESIGNER ПОСЛЕ СОЗДАНИЯ ШАБЛОНА

4.1. Значения переменных

После создания шаблонов для каждого типа документа (их может быть несколько 5, 10 и т.д.), можно пойти двумя путями:

1.Настроить работу сценария проекта с поочередным распознаванием по каждому шаблону, при этом добавлять в сценарий столько блоков, сколько было создано шаблонов

.

2.Запустить распознавание по списку шаблонов в одном блоке..

Прежде чем использовать список, необходимо его задать в Переменных. Выбираем Тип переменной List (список), задаем имя переменной и редактируем значение переменной: добавляем в список названия созданных нами шаблонов, по которым будет производиться распознавание. Например, ТОРГ12.json, УПД.json и т.д.

На Панели свойств указываем путь к файлу PDF. Файл может быть многостраничным. Также поддерживаются файлы формата .png и .jpg.

Далее указываем путь к файлу шаблона для распознавания. При указании списка файлов шаблонов будут последовательно использоваться каждый файл, пока распознавание не закончится успешно. Если ни один из шаблонов не подойдет для документа, то будет сгенерировано исключение с ошибкой первого шаблона из списка.

Указываем путь к файлу в формате .pdf

В строке Путь к файлу шаблона указанную созданную нами переменную со списком шаблонов.

Номер страницы – 1, тогда распознавание начнется с первой страницы документа.

При запуске роботы блока Распознать по шаблону, первым распознается документ, указанный в списке Переменной. В случае возникновения ошибки по одному из шаблонов, робот переходит к распознаванию следующего шаблона.

При использовании списка возможно увеличение скорости обработки нескольких шаблонов, если параметры распознавания страницы у этих шаблонов одинаковые.

Если параметры распознавания различны, то время распознавания документа увеличивается.

Например, если для одного из шаблонов указан OCR-модуль Tesseract, а для другого шаблона YandexVision (или разный масштаб или язык), то для каждого из этих шаблонов робот будет заново распознавать документ, т.к. указаны разные параметры.

Поэтому рекомендуем при создании шаблонов для типовых стандартизированных документов оставлять настройки, заданные по умолчанию и менять их только в случае необходимости.

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

4.1.1. Индекс шаблона

После распознавания документа будет определен индекс шаблона.

Используя блок Условие мы задаем траекторию дальнейшего сценария согласно полученным индексам.апример, если индекс 0 – то это УПД, если индекс 1 – Счет-фактура и т.д.)

Если для распознавания использовался один документ, а не список, то индекс по умолчанию всегда будет 0 (нулевой).

4.1.2. Атрибуты

После обработки шаблона необходимо продолжить работу с созданными атрибутами

Атрибуты отображаются в окне «Результаты полного сканирования» Шаблонизатора (Имя, Значение)

Чтобы получить значения атрибутов мы должны обратиться к словарю и присвоить значение переменной. Используем блок Присвоить значение переменной.

На панели свойств выбираем значение переменной, кликаем на «…» и редактируем выражение. В открывшемся окне выбираем категорию $Attributes.

Указываем Имя атрибута, которое ранее было задано в Шаблонизаторе, используя кавычки.

Далее необходимо задать имя переменной, с которой мы продолжим работать. Имя переменной может быть задано произвольно, например, $AttributesZakaz или $MyOrganization

4.1.3. Таблица

Присваивая значение переменной для таблицы (если таблиц несколько, — то массив таблиц), необходимо использовать индекс таблицы, который был присвоен в Шаблонизаторе автоматически (по порядку). Вручную присвоить значение переменной невозможно.

.

.

На панели свойств выбираем значение переменной, кликаем на «…» и редактируем выражение. В открывшемся окне выбираем категорию $Tables. Добавляем столько таблиц, сколько было добавлено в Шаблонизаторе и указываем индекс каждой таблицы.

Далее необходимо задать имя переменной, с которой мы продолжим работать. Имя переменной может быть задано произвольно, например, $TablesProducts или $MyTables.

После того, как Имя и Значение переменных были заданы, можно приступать к дальнейшей работе.

4.2. Работа с многостраничными документами

При создании шаблонов для многостраничных документов необходимо определить уникальные якоря, поиск по которым будет осуществляться только в определенном типе документа. Например, в документе УПД может встречаться слово счет-фактура, соответственно, не нужно использовать это слово в качестве якоря ни для УПД, ни для Счет-фактуры.

При необходимости работы с многостраничным документом, бывает, что один документ находится на нескольких страницах.

Для каждого типа документов необходимо создавать отдельный шаблон (например, 1 — Торг12, 2 – Счет-фактура, 3 – УПД), и указать все типы документов в значениях переменной. При этом тип переменной выбрать List (список).

Далее указываем путь к файлу шаблона:

Указываем Номер страницы – 1, для того, чтобы распознавание начиналось с первой страницы. Также указываем путь к файлу.

1.1.1.Завершение работы робота при возникновении ошибки

По окончании работы по создания шаблона, необходимо прописать дальнейший сценарий его распознавания и вывода результатов.

Если робот не смог произвести распознавание документа, то сценарий может быть остановлен. Для этого в Sherpa Designer добавляем блок «Конец». Также можно добавить блок «Лог» для записи ошибки в лог.

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

В случае, если в PDF файле находятся несколько документов, и один из типов документов неизвестен роботу (т.е. на этот тип документа нет шаблона), робот будет пропускать этот документ и будет распознавать лишь те документы, для которых есть шаблоны.

1.1.2. Поиск второго и последующих документов в многостраничном файле

После того, как в многостраничном документе был распознан один из шаблонов, необходимо внести изменения в прописанный индекс (прибавить), чтобы дальнейшее распознавание началось не со следующей страницы, а после найденного документа.

Так как в атрибутах существует параметр CountPage, который соответствует количеству страниц, участвующих в распознавании шаблоном, то для продолжения процесса распознавания нужно добавить этот параметр к индексу.

Таким образом, если в многостраничном документе был распознан первый документ, занимающий несколько страниц, при добавлении параметра CountPage дальнейшее распознавание начнется со страницы, следующей после распознанного документа.

После этого настраиваем сценарий на повторное распознавание документа.

.

.

.

.