В предыдущей статье мы рассматривали методы распознавания паспорта РФ на Windows. В данной публикации мы рассмотрим методы распознавания бухгалтерских документов.
На данный момент в просторах интернета имеется множество подобных сервисов, но эта разработка
1. Нет необходимости передавать первичку сторонним ресурсам, что не очень-таки хорошо.
2. Используем Windows без python и т.п.
3. Не надо платить за каждый документ.
4. Из минусов - необходим установленный Finereader (желательно версии 15 и выше)
Ниже код 1С.
5. Работает на тонком клиенте и в режиме веб сервера (рекомендуемая платформа 1С не ниже 8.3.18.*)
&НаСервере
Процедура ЗапускFinereaderНаСервере(Адрес)
ПутьКFineReader = "C:\Program Files (x86)\ABBYY FineReader 15\";
ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = ложь;
ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок = Истина;
файлДД = ПолучитьИзВременногоХранилища(Адрес);
имяФайла=ПолучитьИмяВременногоФайла("pdf");
файлДД.Записать(имяФайла);
ВыходноеИмяФайла = ПолучитьИмяВременногоФайла("xlsx");
Файлxlsx= Новый ТекстовыйДокумент;
Файлxlsx.Записать(ВыходноеИмяФайла);
Результат = ФайловаяСистема.ЗапуститьПрограмму(""""+ ПутьКFineReader + "FineCmd.exe"" " + имяФайла + " /lang Russian /out "+ВыходноеИмяФайла+ " /quite", ПараметрыЗапускаПрограммы);
КодВозврата = Результат.КодВозврата;
ПотокВывода = Результат.ПотокВывода;
ПотокОшибок = Результат.ПотокОшибок;
объект.резfile=ВыходноеИмяФайла;
//Объект.вывод = Результат.ПотокВывода;
КонецПроцедуры
Также приложил обработку 1С. Результатом выполнения является табличный документ с текстом, готовым к парсингу.
В дальнейшем планирую дописать загрузчик Счетов-фактур и ТОРГ-12 с созданием документов Поступление товаров и услуг.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.1.22.86