Извлечь данные в таблицу Версия 8 (Python)
Группа действий: Robin OCR
Описание
Действие распознает текст с документа, разделяет его на блоки и возвращает в табличном виде.
Иконка действия
Параметры и их настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
Файл | Путь к файлу, из которого нужно извлечь данные. Поддерживаемые форматы: jpg, jpeg, bmp, png, tif, pdf | Robin.FilePath | Да | |
Номер страницы | Номер страницы в документе, с которой нужно извлечь данные. Если поле не заполнено, данные будут извлечены со всех страниц | Robin.Numeric | Нет | |
Язык | Предполагаемый язык текста, который необходимо извлечь | Robin.String | Нет | |
Дополнительный язык | Дополнительный язык, на котором предположительно может быть распознаваемый текст | Robin.String | Нет | |
Алгоритм | Если выбран «Текст», действие распознает только текстовые данные. Если «Таблица», действие распознает только табличные данные. Если «Текст и таблица», действие распознает любые данные | Robin.String | Да | |
Расстояние между словами | Максимальное расстояние между словами в текстовых данных документа. Используется для деления текста на столбцы в результирующей таблице. Значение по умолчанию - 20 пикселей | Robin.Numeric | Нет | |
Расстояние между строками | Максимальное расстояние между строками в текстовых данных документа. Используется для деления текста на строки в результирующей таблице. Значение по умолчанию - 1 пиксель | Robin.Numeric | Нет | |
Путь к папке | Путь к папке, в которую будет сохранено изображение страницы документа с наложенными блоками, на которые действие разделило данные. Для сохранения файла также нужно заполнить поле «Имя файла» | Robin.FolderPath | C:\doc\img | Нет |
Имя файла | Название изображения страницы документа с наложенными блоками (без расширения). Если действие извлекает данные с нескольких страниц, то на каждую из них будет создан отдельный файл, к названию которого будет добавлен индекс. Для сохранения файла также нужно заполнить поле «Путь к папке» | Robin.String | Нет | |
Перезаписать | Если значение «true», и в указанной папке существует файл изображения с таким же именем, индексом и расширением, то новый файл его перезапишет. Если «false», файл перезаписан не будет и действие вернет ошибку | Robin.Boolean | true | Нет |
Параметры | Дополнительные параметры, влияющие на результат и качество распознавания текста | Robin.String | Нет | |
Подписать | Если значение «true», то перед каждой распознанной табличной или текстовой частью будет добавлено слово «Part» c порядковым номером этой части. Если значение «false», перед этими частями будет вставлена пустая строка | Robin.Boolean | true | Нет |
Обученная модель | Файл с обученной моделью Tesseract в формате .traineddata | Robin.FilePath | Нет | |
Результаты | ||||
Таблица | Таблица, сформированная на основе данных, извлеченных из исходного документа | Robin.DataTable | ||
Изображение с блоками | Коллекция путей к файлам изображений страниц документа с наложенными блоками | Robin.Collection |
Особые условия использования
Действие распознает текст документа и разбивает его на блоки в зависимости от указанных входных параметров (расстояние между строками\словами) извлекает данные из текстовых документов и сохраняет их в виде таблицы. При этом исходный документ может и не содержать таблицы.
На вход можно подавать документы:
- только текстовый слой pdf-документа
- только изображения
- и текстовый слой, и изображения.
Работа действия основана на алгоритме извлечения блоков текста документа. Слова и строки документа объединяются в блоки на основе максимального расстояния между словами и максимального расстояния между строками. Эти параметры задаются во входных параметрах действия.
Примеры таких документов: кассовые чеки; документы, содержащие табличные данные с\без разделителей; документы, содержащие сплошной текст.
Логика работы действия, в зависимости от настройки параметра "Алгоритм": если выбрана "Таблица", действие вернет текст только из таблиц, сохранив его табличную разметку. Если "Текст", вернет все, но для текста из таблиц не учтет его разметку (то есть считывается весь текст из исходного документа, при этом, если были найдены таблицы, текст из них будет извлечен не по табличной разметке, а по расстоянию). Если "Текст и таблица", распознает и вернет текст из таблиц и обычный текст как отдельные части, сохранив для таблиц разметку.
Следует иметь ввиду, что если обученная модель не работает или плохо натренирована, то необходимо значения выпадающего списка "Язык" заменить на значения списка "Дополнительный язык".
- Настроить параметры для действия "Сохранить таблицу в CSV".
- Нажать на кнопку "Старт" в верхней панели.
Страницы из документа сохранены в формате .png в указанную папку с выделенными блоками.
Таблица излечена и сохранена в формате .csv