Russian (Русский) - Change language

Блок Table

Блок Table используется для передачи в FlexiCapture координат обнаруженных на изображении таблиц, при этом данные из таблиц извлекаются в программе FlexiCapture. Особенностью блока Table является то, что результатом поиска такого блока является не только описывающий регион всего блока, но и описывающие прямоугольники ячеек таблицы. В отличие от блоков других типов блок Table имеет дополнительное свойство: перечень возможных столбцов таблицы. Список столбцов табличного блока определяет, что может искать данный блок. В гибком описании можно создать один или несколько элементов типа таблица, в которых описать, где и как именно необходимо искать заданный в блоке набор колонок.

Замечание.

  1. При создании табличного элемента необходимо будет "привязать" элемент к уже созданному табличному блоку. Необходимо начать с создания блока. Вы можете задать временные параметры его местоположения, потом создать один (или несколько) элементов для его поиска, и только после этого задать окончательные параметры расположения блока на изображении, опираясь на эти элементы типа Table.
  2. Можно создать несколько элементов, которые описывали бы различные алгоритмы поиска одного и того же табличного блока. В качестве результат поиска блока блока можно выбрать тот из табличных элементов, который наложится оптимальным образом. Проверить результат наложения табличных элементов и выбрать наиболее подходящий можно при помощи выражений секции Region expression.

В ветви блоков FlexiLayout блок Table отображается значком .

Для создания блока Table:

  1. Перейдите в окно FlexiLayout.
  2. Выберите ветку Blocks в дереве FlexiLayout.
  3. Выберите в меню FlexiLayout команду Add Block → Table или в локальном меню блоков выберите New → Table.
  4. В открывшемся диалоге задайте его свойства.
  5. На закладке Table block задайте:
    • имя блока;
    • введите комментарий (опционально);
    • если регион блока и разбиение таблицы на колонки и строки будет совпадать с регионом результатом наложения некоторого табличного элемента, выберите опцию Source element и щелкните по кнопке щелкните по кнопке . В открывшемся диалоге Select Element укажите табличный элемент, с регионом которого должен совпадать регион блока на основе которого нужно создать результат наложения табличного блока, щелкните по кнопке OK.
    • для выбора результата наложения табличного блока из нескольких табличных элементов задания региона блока, не совпадающего с регионом элемента, выберите опцию Region expression и введите код в поле Region expression. Для проверки правильности кода щелкните по кнопке Check.
  6. На закладке Columns укажите столбцы, которые могут присутствовать в блоке. Для этого нажмите кнопку Add... и в открывшемся диалоге введите имя столбца. В качестве имени столбца таблицы удобно использовать заголовок колонки, встречающийся на тестовых изображениях. В выпадающем списке укажите тип столбца. Можно создать столбец одного из следующих типов: Text, Barcode, Checkmark, Picture или Non-Recognized Block. Для того чтобы изменить имя или тип столбца, нажмите кнопку Edit..., в открывшемся диалоге Edit Table Column измените требуемые параметры. С помощью кнопок (Вниз) и (Вверх) задайте последовательность столбцов, соответствующую порядку столбцов таблицы, в котором они должны отображаться в системе ввода документов.

Пример задания результата наложения табличного блока с помощью языка описания FlexiLayout

Для задания региона блока используется предопределенная переменная OutputTable типа TableHypothesis.

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

let T1 = SearchElements.TableElement1;
let T2= SearchElements.TableElement2;
if T1.RowsCount > T2.RowsCount then OutputTable = T1; else OutputTable = T2;
    

Замечание. Табличные элементы SearchElements.TableElement1 и SearchElements.TableElement2, упомянутые в примере, должны ссылаться на один и тот же табличный блок, в секции Region expression которого используется код примера.

01.12.2020 7:04:05


Please leave your feedback about this article