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