Извлечь данные в таблицу Версия 8 (Python)

Группа действий: Robin OCR 


Описание

Действие распознает текст с документа, разделяет его на блоки и возвращает в табличном виде.

Иконка действия

Параметры и их настройки

СвойствоОписаниеТипПример заполненияОбязательность заполнения поля
Параметры
ФайлПуть к файлу, из которого нужно извлечь данные. Поддерживаемые форматы: jpg, jpeg, bmp, png, tif, pdfRobin.FilePath
Да
Номер страницыНомер страницы в документе, с которой нужно извлечь данные. Если поле не заполнено, данные будут извлечены со всех страницRobin.Numeric
Нет
ЯзыкПредполагаемый язык текста, который необходимо извлечьRobin.String
Нет
Дополнительный языкДополнительный язык, на котором предположительно может быть распознаваемый текстRobin.String
Нет
АлгоритмФормат данных, которые действие должно распознать. Если выбрано «Таблица» или «Текст и таблица», текст из таблиц будет возвращен с учетом табличной разметкиRobin.String
Да
Расстояние между словамиМаксимальное расстояние между словами в тексте. Используется при делении исходного текста на столбцы для результирующей таблицы. В алгоритме «Таблица» и «Текст и таблица» параметр не учитывается для текста из таблиц. Значение по умолчанию - 20 пикселейRobin.Numeric
Нет
Расстояние между строкамиМаксимальное расстояние между строками в тексте. Используется при делении исходного текста на строки для результирующей таблицы. В алгоритме «Таблица» и «Текст и таблица» параметр не учитывается для текста из таблиц. Значение по умолчанию - 1 пиксельRobin.Numeric
Нет
Путь к папкеПуть к папке, в которую будут сохранено изображение исходного текста с наложенными блоками, на которые его делит действие для распознавания. Для сохранения также нужно заполнить поле "Имя файла"Robin.FolderPathC:\doc\imgНет
Имя файлаНазвание изображения исходного текста с наложенными блоками (без расширения). Изображение будет создано с расширением *.png. Если действие извлекает текст с нескольких страниц, то на каждую из них будет создано свое изображение, к названию которого будет добавлен индекс. Для сохранения также нужно заполнить поле "Путь к папке"Robin.String
Нет
ПерезаписатьЕсли значение «true», и в указанной папке существует файл изображения с таким же именем, индексом и расширением, то новый файл его перезапишет. Если «false», файл перезаписан не будет и действие вернет ошибкуRobin.BooleantrueНет
ПараметрыДополнительные параметры, влияющие на результат и качество распознавания текстаRobin.String
Нет
ПодписатьЕсли значение "true", и в указанной папке существует изображение с таким же именем и расширением, то новое изображение с блоками его перезапишет. Если "false", изображение перезаписано не будет, и действие вернет ошибкуRobin.BooleantrueНет
Обученная модельФайл с обученной моделью Tesseract в формате .traineddataRobin.FilePath
Нет
Результаты
ТаблицаТаблица, сформированная на основе данных, извлеченных из исходного документаRobin.DataTable

Изображение с блокамиКоллекция путей к файлам изображений страниц документа с наложенными блокамиRobin.Collection

Особые условия использования 

Действие распознает текст документа и разбивает его на блоки в зависимости от указанных входных параметров (расстояние между строками\словами) извлекает данные из текстовых документов и сохраняет их в виде таблицы. При этом исходный документ может и не содержать таблицы.

На вход можно подавать документы:

  • только текстовый слой pdf-документа
  • только изображения
  • и текстовый слой, и изображения.

Работа действия основана на алгоритме извлечения блоков текста документа. Слова и строки документа объединяются в блоки на основе максимального расстояния между словами и максимального расстояния между строками. Эти параметры задаются во входных параметрах действия.

Примеры таких документов: кассовые чеки; документы, содержащие табличные данные с\без разделителей; документы, содержащие сплошной текст. 

Логика работы действия, в зависимости от настройки параметра "Алгоритм": если выбрана "Таблица", действие вернет текст только из таблиц, сохранив его табличную разметку. Если "Текст", вернет все, но для текста из таблиц не учтет его разметку (то есть считывается весь текст из исходного документа, при этом, если были найдены таблицы, текст из них будет извлечен не по табличной разметке, а по расстоянию).  Если "Текст и таблица", распознает и вернет текст из таблиц и обычный текст как отдельные части, сохранив для таблиц разметку.

Следует иметь ввиду, что если обученная модель не работает или плохо натренирована,  то необходимо значения выпадающего списка "Язык" заменить на значения списка "Дополнительный язык".

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

Задача

Распознать таблицу из документа obrazec.pdf и записать результат в таблицу в формате CSV. 

Решение

Воспользоваться действиями "Извлечь данные в таблицу", "Сохранить таблицу в CSV". 

Реализация

  1. Собрать схему робота, состоящего из действий:
  2. Настроить параметры для действия "Извлечь данные в таблицу". 
  3. Настроить параметры для действия "Сохранить таблицу в CSV". 
  4. Нажать на кнопку "Старт" в верхней панели. 

Результат

Программный робот отработал успешно. Данные с документа извлечены в таблицу формата CSV.

Страницы из документа сохранены в формате .png в указанную папку с выделенными блоками.

Таблица излечена и сохранена в формате .csv 

  • Нет меток