Сервис распознавания накладных из изображений в json, c помощью Tesseract-OCR + Deepseek + OCR Telegram bot

18.06.25

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

Сервис распознавания накладных из изображений в json (на самом деле в любой текст или html), c помощью Tesseract-OCR + Deepseek (ОСень + Winow + 1connector). Данная публикация родилась после того, как я познакомился с фреймворком ОСень и Winow.  Идея сделать сервис аналогичный 1С по распознаванию первички родилась уже давно. Сервис можете потрогать по адресу: https://ocr.ru.tuna.am/apiocr/uploadimage еще появился ocr bot в Телеграм: @Exitone_MasterMindBot, разработанный на этом сервисе и SaluteBot от Сбер

Скачать файл

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

Наименование По подписке [?] Купить один файл
Доработанная версия сервиса предоставляющая сайт и апи с работой в фоне(для интеграции в боты)
.zip 23,77Mb
2
2 Скачать (10 SM) Купить за 4 550 руб.

Сервис можете потрогать по адресу: https://ocr.ru.tuna.am/ocr/login
Логин: exitone
Пароль: любой

Так же реализован OCR бот в Телеграм, у которого под капотом файнридер и который понимает все форматы совместимые с Finereader 15.

 
Итак, что нам понадобится:

Про ОСень:

//infostart.ru/1c/articles/1980026/

Про Вино:

https://github.com/autumn-library/winow

Про коннектор:

https://github.com/vbondarevsky/1connector/tree/master

Про tesseract:

https://tesseract-ocr.github.io/tessdoc/Installation.html#windows

Про deepseek:

//infostart.ru/1c/tools/2366670/

На этих китах и держится весь этот сервис (пока что).

В планах мобилу Ленке из продуктового, с мобильным приложением и 1 кнопкой сфоткать накладную, после чего накладная уже в 1С :) )

Суть: мини сервер winow принимает картинку, распознает ее с помощью tesseract, и полученный текст скармливает deepseek, который производит пост обработку и корректировку накладной, сглаживая ошибки tesseract и выдает ответ в виде json или html(можно deepseek сказать чтобы оформил как реальную накладную). Что с этим делать дальше?

Думаю вы разберетесь. 

За основу я взял example из winow.

Вы не поверите(если не знакомы с ОСенью), но код основного модуля в итоге выглядит вот так:

 

 

Ну и собственно основная логика у меня уместилась в 1 процедуру:

 

&ТочкаМаршрута("parseimage")
Процедура ОбработкаФормы(ДанныеФормы, Ответ) Экспорт
	
	Ответ.Модель = Новый Структура("Имя, ДатаРождения, Фото");

	ДанныеФайла = ДанныеФормы.НайтиЗначениеПоМетаданным(Новый Структура("name", "file"));
	ИмяФайла = ПолучитьИмяВременногоФайла("raw");
	ИмяФайлаТекст = ПолучитьИмяВременногоФайла();
	Сообщить(ИмяФайлаТекст);
	ДанныеФайла.Записать(ИмяФайла);
	Приостановить(300);
	ЗапуститьПриложение("""C:\Program Files\Tesseract-OCR\Tesseract.exe"""+ " " + ИмяФайла + " " + ИмяФайлаТекст + " -l rus --oem 1", КаталогВременныхФайлов(), Истина);
	Приостановить(300);
	Ответ.УстановитьТипКонтента("json");
	Аутентификация = "Bearer <Token deepseek>"; // здесь вставить токен

	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Authorization", Аутентификация);
	Заголовки.Вставить("Content-Type", "application/json");

	СтруктураДанных = Новый Структура;
	СтруктураДанных.Вставить("model", "deepseek-chat");
	
	Сообщения = Новый Массив;
	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "system");
	СообщениеПользователя.Вставить("content", "Ты профессиональный бухгалтер. Пользователь дает текст, ты его проверяешь, корректируешь на наличие ошибок и преобразуешь в json документ. Выведи только json без описания своих действий.");
	
	Сообщения.Добавить(СообщениеПользователя);
	
	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "user");
	ИмяФайлаТекст = ИмяФайлаТекст + ".txt";
	ФайлТекст = Новый Файл(ИмяФайлаТекст);
	
    Сч = 100;
	
    Пока Не ФайлТекст.Существует() И Сч > 0 Цикл
		Сообщить(ИмяФайлаТекст);
		Cч = Сч - 1;
	КонецЦикла;	
	
    ТФ = Новый ТекстовыйДокумент;
	ТФ.Прочитать(ИмяФайлаТекст);

	СообщениеПользователя.Вставить("content", "текст: " + ТФ.ПолучитьТекст());
	ТФ = Неопределено;
	
	Сообщения.Добавить(СообщениеПользователя);
	
	СтруктураДанных.Вставить("messages", Сообщения);
	СтруктураДанных.Вставить("stream", false);
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("Заголовки", Заголовки);

	Результат = КоннекторHTTP.Post("https://api.deepseek.com/chat/completions", Неопределено, СтруктураДанных, ДополнительныеПараметры).Json();
	ОтветТекст = Результат["choices"][0]["message"]["content"];

	Ответ.ТелоТекст = ОтветТекст;
	
КонецПроцедуры

Проверить у себя на практике, как все это работает, можно скачав архив с примером, в который достаточно вставить токен дипсик, выполнить oscript ocr.os и у вас на localhost:3333 свой сервис по распознаванию первички.

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

Самое интересное, что это намного дешевле сервиса от вендора, в котором 3 руб./документ.

Здесь себестоимость запроса к обычной модели deepseek для 1 документа меньше 1 цента.

Спасибо за внимание!

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

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.189

См. также

SALE! 30%

SALE! 20%

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

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

6480 руб.

23.12.2021    14020    22    25    

10

Учет документов Распознавание документов и образов Бухгалтер Пользователь Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Расширение для типовых конфигурация и для самостоятельной интеграции системы распознавания документо удостоверяющих личность и прочих документов непосредственно из информационных баз "1С:Предприятия 8.3" с помощью Content AI - Passport Reader SDK. Расширение позволит не изменяя типовой код конфигурации, расширить текущий функционал несколькими кликами мыши.

12000 руб.

26.01.2016    70863    78    3    

104

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

Пример простой обработки локального распознавания речи средствами платформы.

1 стартмани

05.06.2025    807    1    user595604    4    

11

Распознавание документов и образов Программист Платформа 1С v8.3 Абонемент ($m)

Данная обработка позволяет распознавать текст в формате PNG и записывает распознанный текст в TXT формат.

3 стартмани

05.05.2025    444    3    Likarus    0    

1

Распознавание документов и образов Программист Пользователь Платформа 1С v8.3 Платформа 1C v8.2 Россия Абонемент ($m)

Пример обработки для преобразования речи в текст, с последующим анализом данного текста с использованием сервисов OpenAi (proxyapi).

1 стартмани

01.04.2025    527    4    =Kollega=    0    

2

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

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

10 стартмани

26.03.2025    1282    13    Prepod2003    5    

12

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

Внешняя обработка 1С использует API для распознавания текста с изображений (до 25 000 в месяц), поддерживает загрузку файлов с диска и HTTP-запросов, а результат можно автоматически обрабатывать и интегрировать в 1С.

1 стартмани

20.03.2025    726    8    mrKHrom    3    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 25 03.06.25 14:51 Сейчас в теме
Отлично, ОСень здесь выполняет роль сервиса по загрузке изображений? Можно было оставить связь 1с-Тесеракт-Дипсик-1С ?
3. exitone 14 03.06.25 15:51 Сейчас в теме
(1)
связь 1с-Тесеракт-Дипсик-1С
2. exitone 14 03.06.25 15:50 Сейчас в теме
Код основной открыт.
В ДанныеФайла двоичные данные из 1С, и можно пропустить ОСень и получить связь 1с-Тесеракт-Дипсик-1С.
4. akR00b 25 04.06.25 14:55 Сейчас в теме
(2) ОСень в этой цепочке какую роль играет? веб сервис?
5. exitone 14 04.06.25 15:16 Сейчас в теме
(4) веб сервер winow в первую очередь. и веб сервис на его основе, который можно в интернет для всех.
6. exitone 14 13.06.25 12:07 Сейчас в теме
(4)
Сервис можете потрогать по адресу: https://ocr.ru.tuna.am/ocr/login
Логин: exitone
Пароль: любой
7. exitone 14 14.06.25 12:55 Сейчас в теме
еще появился ocr bot в Телеграм: @Exitone_MasterMindBot
Оставьте свое сообщение