Распознавание текста и сравнение документов

20.11.25

Интеграция - Нейросети

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

Файлы

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

Наименование Скачано Купить файл
Распознавание текста и сравнение документов
.epf 7,90Kb
4 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Бухгалтеры и юристы ежедневно сталкиваются с задачей сравнения версий договоров, актов и счетов. Ручное сравнение отнимает значительное время и повышает риск ошибок. Современные технологии оптического распознавания символов (OCR) и больших языковых моделей (LLM) позволяют автоматизировать этот процесс. После ухода с рынка решения 1С-ABBYY Comparator возникла необходимость поиска альтернативных инструментов. В результате анализа была выявлена перспективная связка открытых технологий: Tesseract OCR для распознавания текста и LM Studio для интеллектуального анализа различий.

 

Цель и архитектура решения

Цель статьи — продемонстрировать практическую реализацию автоматического распознавания и сравнения документов с использованием открытых технологий.
Архитектура решения включает три основных компонента:

  • Tesseract OCR — библиотека распознавания текста из изображений
  • LM Studio — локальный сервер LLM с REST API
  • Внешняя обработка 1С — интерфейс загрузки файлов и отображения результатов

 

Этап 1. Установка и настройка Tesseract OCR

Tesseract — это открытая библиотека оптического распознавания символов, поддерживаемая Google. Она работает с форматами PNG, TIFF, JPEG и требует предварительной конвертации PDF в изображения. Поддерживает более 130 языков с кодировкой Unicode, включая кириллицу.

Основные форматы вывода:

  • TXT — простой текст
  • hOCR — HTML с координатами элементов
  • TSV — табличный формат
  • PDF — PDF с текстовым слоем
  • ALTO XML — формат для архивов

Установка на Windows:

  1. Скачать установщик с https://github.com/UB-Mannheim/tesseract/wiki
  2. Выбрать языковые пакеты (русский и английский)
  3. Добавить путь в переменную среды PATH

Запустите скачанный exe-файл и следуйте мастеру установки:

  1. Выберите язык установщика и нажмите OK
  2. Нажмите Next для продолжения
  3. Примите лицензионное соглашение Apache License 2.0, нажав I Agree
  4. Выберите, для какого пользователя устанавливать (текущий или все пользователи)
  5. В разделе Choose Components обязательно выберите нужные языковые пакеты в секции Additional language data. Для распознавания русского текста выберите Russian в списке языков. Я выбрала еще Английский.
  6. Укажите папку установки (по умолчанию C:\Program Files\Tesseract-OCR) и обязательно запомните этот путь
  7. Выберите папку в меню "Пуск" для ярлыков или отключите создание ярлыков
  8. Нажмите Install и дождитесь завершения установки
  9. Нажмите Finish

Далее переходим к установке переменных сред. Необходимо добавить Tesseract в переменную PATH для доступа из командной строки:

  1. Откройте поиск Windows и введите "переменные среды" или "environment variables"
  2. Выберите Изменение системных переменных среды
  3. Нажмите кнопку Переменные среды в нижней части окна
  4. В разделе Системные переменные найдите переменную Path и нажмите Изменить.
  5. Нажмите Создать и вставьте путь к папке установки Tesseract (например, C:\Program Files\Tesseract-OCR).
  6. Нажмите OK для сохранения изменений

 

 

Если вы установили Tesseract в нестандартную папку или если Tesseract не может найти файлы языковых данных, необходимо Создание переменной TESSDATA_PREFIX

Аналогично заходим в переменные среды:

 

Через командую строку проверяем версию. Команда tesseract -v

 

 

Если остались ошибки, ознакомьтесь с подробной статьей по установке на Windows Подробная установка на английском – по ссылке https://docs.coro.net/featured/agent/install-tesseract-windows/

!!! После добавления переменных обязательно перезапустите командную строку или PowerShell.

  • Настройка языковых пакетов (русский + английский)

Если вы не выбрали языковые пакеты при установке, их можно добавить.

    1. https://github.com/tesseract-ocr/tessdata - скачиваем необходимые языки.
    2. Скачанные файлы *.traineddata (например, rus.traineddata для русского языка) нужно поместить в папку tessdata. Для Windows: C:\Program Files\Tesseract-OCR\tessdata или /usr/local/share/tessdata/. Если путь нестандартный, установите переменную окружения TESSDATA_PREFIX на родительскую папку для tessdata (делали выше).
    3. Проверяем установленные языки по команде: tesseract --list-langs

 

 

Для указания языка при запуске Tesseract используется флаг -l с кодом языка:

русский: tesseract image.png output -l rus

английский: tesseract image.png output -l eng

Можно комбинировать несколько языков: tesseract image.png output -l rus+eng

  • Запускаем  Командную строку (cmd/PowerShell): пробуем распознать текст из картинки png, проверяем вывод в папу Output по команде:

tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]

Моя команда: tesseract C:\output\test1.png C:\output\outputfile1 -l rus+eng
где C:\output\test1.png – файл картинки imagename

C:\output\outputfile1 – католог вывода файла outputbase

 

 

Файл распознан в текст и сохранен в указанную папку с указанным именем:

 

 

Этап 2. Развертывание LM Studio

LM Studio — это платформа для работы с локальными языковыми моделями (LLM). Сервис устанавливается на Windows, Mac или Linux и может работать как REST API сервер. Преимущество — полная автономность и конфиденциальность работы: документы не покидают ваш компьютер.

Настройка и запуск:

  1. Скачать с https://lmstudio.ai/
  2. Выбрать модель saiga_llama3_8b_gguf
  3. Настроить контекст до 8192 токенов
  4. Запустить сервер REST API

Развертывание LM Studio:

  • Установка LM Studio на локальный компьютер (ссылка выше)
  • Выбор и загрузка подходящей модели. Почитала и выбрала saiga_llama3_8b_gguf

Ограничения модели:

 

 

8.192 токена у этой модели. Для  обработки больших объемов информации это мало.
У меня настроено 4096 токенов, можно выставить по максимум.

Я загружала 2 страницы изображения текста договора Аренды помещения, при этом 1 страница составляет 3420символов. На это я потратила 3279токенов.

При последующем запросе я выбрала весь контекст.

Может, стоит подумать, как загружать договоры по-странично, чтобы выбирать меньше токенов?!.

  • Запуск в режиме REST API сервера – запускаем Status Runing, теперь наша AI может принимать rest-запросы
  • Настройка endpoint

Теперь можем отправлять Http – запросы к LLM.

Пример промпта для сравнения:

«У меня есть два договора. Тебе надо их сравнить и найти различия. Сравнение вывести в таблицу, состоящей из 4 столбцов: номер строки (и пункта договора), данные из Договора 1, данные из Договора 2, различия. Если различий нет, то в колонке «Различия» ничего не указывается. Цвет текста в колонке «Различия» должны быть красным. Эту в таблицу со сравнением договоров поместить в документ в формате html. Ответ предоставь только в формате html без комментариев».

 

Этап 3. Создание внешней обработки 1С

Для удобства создается внешняя обработка 1С, объединяющая OCR, LLM и визуализацию результата в одном интерфейсе.

Основные элементы:

  • Два поля выбора файлов
  • Кнопка «Сравнить»
  • Поле HTML для вывода результата

Код в обработке (модуль Формы):

&НаКлиенте
Процедура ЗагрузитьИзФайла(Команда)
	ВыборФайла(Файл1);	
КонецПроцедуры 

&НаКлиенте
Процедура ЗагрузитьИзФайла2(Команда)
	ВыборФайла(Файл2);
КонецПроцедуры

&НаКлиенте
Процедура ВыборФайла(Файл)
	
	ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
	ДиалогФыбораФайла.Фильтр = "Картинка формата png (*.png)|*.png"; 
	ДиалогФыбораФайла.Заголовок = "Выберите файл";
	ДиалогФыбораФайла.ПредварительныйПросмотр = Истина;
	ДиалогФыбораФайла.ИндексФильтра = 0;
	Если ДиалогФыбораФайла.Выбрать() Тогда
		Файл = ДиалогФыбораФайла.ПолноеИмяФайла;
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура Сравнить(Команда)
	
	//Запускаем tesseract, указываем языки (русский/английский)
	ВыходнойФайл1 = "C:\output\outputfile1";
	ВыходнойФайл2 = "C:\output\outputfile12";
	СтрокаКоманды = "tesseract "+ Файл1 + " " + ВыходнойФайл1 +" -l rus+eng";
	СтрокаКоманды2 = "tesseract "+ Файл2 + " " + ВыходнойФайл2 +" -l rus+eng";
	КомандаСистемы(СтрокаКоманды);
	КомандаСистемы(СтрокаКоманды2); 
	ВыполнитьPostЗапросСФайлом(ВыходнойФайл1, ВыходнойФайл2);
	
КонецПроцедуры

Процедура ВыполнитьPostЗапросСФайлом(ВыходнойФайл1, ВыходнойФайл2)

	// Читаем содержимое текстового файла
	ПутьКФайлу1 = ВыходнойФайл1 + ".txt";
	ПутьКФайлу2 = ВыходнойФайл2 + ".txt";
	ЧтениеФайла = Новый ЧтениеТекста(ПутьКФайлу1, КодировкаТекста.UTF8);
	СодержимоеФайла1 = " Первый договор " + ЧтениеФайла.Прочитать();
	ЧтениеФайла.Закрыть();
	ЧтениеФайла = Новый ЧтениеТекста(ПутьКФайлу2, КодировкаТекста.UTF8);
	СодержимоеФайла2 = " Второй договор "+ ЧтениеФайла.Прочитать();
	ЧтениеФайла.Закрыть();

	Промт = "У меня есть два договора. Тебе надо их сравнить и найти различия. 
	|Сравнение вывести в таблицу, состоящей из 4 столбцов: номер строки (и пункта договора), 
	|данные из Договора 1, данные из Договора 2, различия. 
	|Если различий нет, то в колонке «Различия» ничего не указывается. 
	|Цвет текста в колонке «Различия» должны быть красным. Эту в таблицу со сравнением договоров поместить в документ в формате html. 
	|Ответ предоставь только в формате html без комментариев";
	Промт = Промт + СодержимоеФайла1 + СодержимоеФайла2;
	// Формируем данные через структуру
	Данные = Новый Структура;
	Данные.Вставить("model", "saiga_llama3_8b_gguf");
	Данные.Вставить("input", Промт); // Вставляем промт

	Reasoning = Новый Структура;
	Reasoning.Вставить("effort", "low");
	Данные.Вставить("reasoning", Reasoning);

	// Преобразуем в JSON
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, Данные);
	ТелоЗапроса = ЗаписьJSON.Закрыть();

	// Создаем HTTP соединение и запрос
	Соединение = Новый HTTPСоединение("localhost", 1234);
	Запрос = Новый HTTPЗапрос("/v1/responses");
	Запрос.Заголовки.Вставить("Content-Type", "application/json");
	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

	// Отправляем запрос
	Попытка
		Ответ = Соединение.ОтправитьДляОбработки(Запрос);
		Ответ = Ответ.ПолучитьТелоКакСтроку();
		ПолеHTML = ПолучитьТекстИзJSON(Ответ);
	Исключение
		Сообщить("Ошибка: " + ОписаниеОшибки());
	КонецПопытки;

КонецПроцедуры  

Функция ПолучитьТекстИзJSON(СтрокаJSON)
	// Создаем объект для чтения JSON
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
	
	// Преобразуем JSON в структуру/соответствие 1С
	// Второй параметр Истина позволяет читать в Соответствие
	ДанныеJSON = ПрочитатьJSON(ЧтениеJSON, Истина);
	ЧтениеJSON.Закрыть();
	
	// Извлекаем текст из вложенной структуры
	// Путь: output[0].content[0].text
	HTMLContent = ДанныеJSON["output"][0]["content"][0]["text"];
	Возврат HTMLContent;

КонецФункции	

В 1С выглядит следующим образом:

 

Файлы png, загружаемые в Tesseract:

 

Файлы outputfile.txt, полученные из png Tesseract

 

 

Выводы

Преимущества:

  • Автономность — работает без интернета
  • Бесплатные open-source компоненты
  • Гибкость и расширяемость
  • Безопасность — локальная обработка
  • Высокая скорость и невысокие требования

Ограничения:

  • Качество распознавания зависит от сканов
  • Нужна достаточная мощность LLM
  • Модель может "фантазировать" и выдавать разные результаты при одинаковых входных данных

Перспективы:

  • Добавление предобработки изображений,
  • Работать "по-строчно"/по абзацам: результат OCR разбивать на абзацы, их генерировать в эмбенденги, которые и будем "отдавать " в LM для сравнения. 
  • Поддержка DOCX и XLSX
  • Пакетная обработка
  • Интеграция с базой 1С

Заключение

Комбинация OCR и LLM открывает новые возможности для автоматизации рутинных операций с документами в 1С. Решение демонстрирует практическое применение современных AI-технологий и дает компаниям безопасный и экономичный способ ускорить работу с документами.

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

  • Управление торговлей, редакция 11, релизы 11.5.11.70

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

Обработка LM Studio LLM Ollama OCR распознавание текста Tesseract нейросети сравнение документов интеграция

См. также

Нейросети Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19919    42    4    

40

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21782    107    32    

90

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    77458    147    41    

154

SALE! 30%

Нейросети 1С 8.3 1С:Бухгалтерия 2.0 1С:Бухгалтерия 1.6 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Документооборот Россия Платные (руб)

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    4065    15    9    

15

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

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

6588 руб.

23.12.2021    17740    35    25    

15

Распознавание документов и образов Периферийные устройства Разработчик Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20740 руб.

31.05.2023    7877    5    5    

10

Распознавание документов и образов Нейросети 1С:Предприятие 8 1С 8.3 1С 8.5 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 3.x Беларусь Россия Казахстан Армения Платные (руб)

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1526    3    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2343 20.11.25 17:16 Сейчас в теме
(0) Делал аналогичное упаковав распознавание в Docker
https://github.com/Diversus23/extract-text

Статья на Хабре как это все работает Как я создал Text Extract API для RAG за 2 дня с помощью AI и Cursor: подробный кейс
gzharkoj; SerVer1C; prokhodolya; +3 – Ответить
3. Vasvas05 27 23.11.25 01:20 Сейчас в теме
(1) ну такое... тут кажется готовое для использование(хоть и подход к коду "как лом"), у вас больше похоже на "наброски"
2. prokhodolya 20 20.11.25 17:49 Сейчас в теме
Спасибо. Я прям очень сильно начинающий) ознакомлюсь👍🏻
ni032mas; +1 – Ответить
4. akR00b 26 24.11.25 13:01 Сейчас в теме
Хорошая статья, спасибо.
prokhodolya; +1 – Ответить
5. JohnyDeath 302 24.12.25 10:22 Сейчас в теме
Рекомендую попробовать:
1. Docling https://github.com/docling-project . Вот тут только серверная часть для дерганья по апи, если что https://github.com/docling-project/docling-serve
2. DeDoc (от русских разработчиков): https://dedoc.readthedocs.io/en/latest/

Всё, ес-но, работает локально
ni032mas; +1 – Ответить
Для отправки сообщения требуется регистрация/авторизация