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