Распознавание текста с использованием OCR Tesseract

16.09.24

Интеграция - Распознавание документов и образов

В 1С:Документооборот полнотекстовый поиск по содержимому отсканированных документов возможен, но не так хорош, как бы хотелось. Всё дело в качестве распознавания сканов. Поднимаем процесс распознавания на новую высоту с использованием Xpdf и OCR Tesseract.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Распознавание текста с использованием OCR Tesseract (linux):
.cfe 40,77Kb ver:1.L.2.49
3 4 200 руб. Купить
Распознавание текста с использованием OCR Tesseract (windows):
.cfe 38,67Kb
40 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Полнотекстовый поиск по содержимому всех документов - отличная функция 1С:Документооборот, однако много документов хранится в сканах и их надо как-то распознать. Встроенный механизм базируется на откровенно устаревшей технологии (у CuneiForm последняя версия от 19.04.2011) и имеет очень низкое качество. Частично спасает ситуацию возможность удалённого распознавания на мощностях 1С, но далеко не все готовы отсылать свою переписку куда-то за пределы организации, да и не бесплатная это функция.

Однако есть выход, причем проект открытый и развивающийся, а потому можно надеяться, что качество распознавания будет расти. Я имею ввиду проект Tesseract OCR. На официальном сайте проекта есть сборка под все ОС, под Windows только alfa-версия, но работает она хорошо. Особенности установки с поддержкой кириллицы и русского языка я показал на скринах.

Неожиданно плохие результаты показало распознавание изображений, полученных из Adobe PDF с помощью утилиты Imagemagick. Часть изображений получается серые, я об этом эффекте уже писал. Нормально работает на изображениях, полученных с помощью утилиты pdftopng от производителя XpdfReader. 

Предлагаемое расширение подменяет функцию РаспознатьСПомощьюCuneiForm() общего модуля Распознавание, и корректно работает во всех сценариях, как в ручном, так и в автоматическом.

Программа первым делом производит поиск текстового слоя в файле pdf, для этого используем утилиту pdftotext из Xpdf command line tools. Тут есть один нюанс, в качестве параметра передаётся кодировка текста, который должен быть извлечён из файла, а она изначально неизвестна. Предположительно, чаще всего должна использоваться кодировка UTF-8, но как показывают тесты это не так и вообще часть текста может быть в одной кодировке, а часть в другой. А ещё лист документа может быть перевёрнут, причём в любую сторону. Тесты OCR Tesseract показали, что программа сама пытается выровнять текст. Если подать на вход изображение с текстом и это-же изображение, повёрнутое на 90 градусов, то качество распознавания не изменится. Но вот поворот на 180 и 270 градусов делает распознавание невозможным.

Что делать? Надо как-то понять, что распознанный текст содержит нормальный текст, а не мусор. Я решил, что можно считать долю кириллических символов в тексте, мы же распознаём русскоязычные документы, значит их там должно быть больше половины.

Получился следующий алгоритм:

  • пытаемся из файла Adobe PDF получить текст, если получается, то считаем долю кириллических символов, и если их больше 65% возвращаем текст;
  • разбиваем файл на изображения и начинаем каждое распознавать, после распознавания снова считаем долю символов, если меньше 65%, то переворачиваем на 180 градусов и пробуем снова.

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

Настройки программ находятся в начале функции модуля РОТР_РаспознатьСПомощьюCuneiForm() общего модуля Распознавание из расширения, там указываются все пути к программам и разрешение изображений, настройки снабжены комментариями. Есть ограничения на минимальный и максимальный объём изображений, понятно, что они ничем особо не обоснованы, только наблюдения и тесты. Всё ради увеличения быстродействия, т.к. процесс распознавания получается мягко сказать "неторопливым".

В общем модуле РОТР_ОбщегоНазначенияСервер собраны функции для работы в изображениями и распознавания текста, их можно использовать в собственных проектах, они также снабжены описанием параметров. Также хочется отметить, что процесс tesseract.exe может потреблять очень много оперативной памяти, у меня бывало доходило почти до 1 Гб (один раз), это надо иметь ввиду при внедрении данного механизма. Если раньше файлы распознавались с использованием старого алгоритма, то надо сбросить статус, для чего в расширении есть соответствующая обработка.

Расширение проверено на конфигурации 1С:ДГУ 2.1.29.16 и технологической платформе  8.3.17.1851.

Upd. 16.09.2024. Добавил адаптацию расширения под Linux, тестировал на 1С:ДГУ 2.1.34.1

Распознавание и загрузка сканов в 1С

Решение «Распознавание и загрузка сканов в 1С» — интеллектуальный инструмент, превращающий сканы накладных, счетов, УПД или Excel-файлов в готовые документы 1С. Без ручного ввода и ошибок — с распознаванием даже нечетких фото. Оптимизируйте документооборот и автоматизируйте рутину с помощью ИИ-распознавания.

Проверено на следующих конфигурациях и релизах:

  • Документооборот КОРП, релизы 2.1.34.1, 2.1.29.16

Вступайте в нашу телеграмм-группу Инфостарт

распознавание OCR Tesseract Xpdf

См. также

SALE! 30%

Распознавание документов и образов Программист Пользователь 1С 8.3 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

Управление 1С голосом (в любой конфигурации), преобразование голоса в текст в текстовых реквизитах форм, в полях ввода с поиском по значению реквизита и т.д. и т.п.

2 стартмани

19.12.2025    2315    3    kras_71    24    

11

Распознавание документов и образов Программист Пользователь 1С:Предприятие 8 Россия Абонемент ($m)

Решение на платформе 1С для автоматической расшифровки голосовых сообщений из Telegram. Система отслеживает новые аудио в чат-боте, передает их на локальный сервер с Whisper для преобразования в текст и автоматически возвращает готовую транскрипцию обратно в чат. Должна работать на любой конфигурации 1С. Пригодится для энтузиастов и разработчиков интеграций 1С и ИИ.

1 стартмани

25.11.2025    828    2    marat987654321    2    

3

Нейросети Распознавание документов и образов Программист 1С:Предприятие 8 Россия Абонемент ($m)

Статья описывает практический подход к автоматизации сравнения документов с применением технологий OCR и локальных языковых моделей. Рассматриваются этапы настройки и интеграции Tesseract OCR, LM Studio и внешней обработки 1С для создания автономного решения.

1 стартмани

20.11.2025    3037    prokhodolya    5    

19

Учет документов Распознавание документов и образов Бухгалтер Пользователь 1С 8.3 1С:Управление торговлей 11 Платные (руб)

СканДок — это «сканер в смартфоне» для 1С. Вложение файлов в документы 1С за 30–60 секунд без очереди к сканеру и без поиска файлов по папкам.

61000 руб.

24.10.2025    1097    0    0    

0

Нейросети Распознавание документов и образов Программист Пользователь 1С:Предприятие 8 Абонемент ($m)

Автоматическое распознавание PDF-накладных через Azure Document Intelligence - мощный AI-сервис от Microsoft для извлечения данных без парсинга и конвертации. Легко адаптируется под Ваши нужды, точность до 99%.

2 стартмани

29.09.2025    1956    6    da_1c    7    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Semechka 22.10.21 13:46 Сейчас в теме
Добрый день, Сергей) Интересует следующее: в каком виде предоставляется результат обработки и входят ли компоненты в предоставляемое решение?
2. soulner 495 22.10.21 14:35 Сейчас в теме
(1) Добрый день. Там всё довольно хитро из-за необходимости интеграции со штатной функцией.
В штатную функцию передаются параметры РаспознанныйТекст, ПутьКФайлу, соответственно эти параметры и заполняются распознанным текстом и путём к файлу, содержащем текст.
А компоненты в решение не входят и должны быть скачены с сайта производителя самостоятельно.
Сайт XPDF Tools легко найти поиском (только там ищем именно command line tool), а с OCR Tesseract сложнее, я сборку нашёт тут https://github.com/UB-Mannheim/tesseract/wiki
denundersky; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация