Обзор консольных приложений для электронного архива

25.08.19

Задачи пользователя - Инструкции пользователю

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

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

Сначала, согласно универсальной таблице оценки задач сначала показалось что это "изъян", однако в итоге это оказалось - что "вроде изъян".

 
 Сама задача, для чего это все делалось;

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

Есть документы которые исходящие и печатаются в наших системах, на них мы можем разместить штрих код;
Есть документы входящие, для поступающих документов, на которые можно наклеить штрих код внеся
информацию по нему, в систему, для последующей автоматической обработки.

Однако был уже большой архив документов, которые не имели штрих кода.
Обратив внимание как сотрудники привязывают эти документы, была высказана гипотеза, что это можно сделать сильно проще.

Задачи распознавать табличные части документов у нас не стояло, по этому коммерческое на Adobe Flexicapture, мы внимательно посмотрели, и оставили до лучших времен.

Мы для себя поставили задачу что нам достаточно 95 процентов документов, привязанных автоматически, 
для тех документов, которые у нас реализовано удобное рабочее место для обработки документов.

Примеры шагов, которые были реализованы:

  1. Импорт файлов в систему;
  2. Разбиение файлов на страницы;
  3. Извлечение первой страницы из файла;
  4. Извлечение изображений из PDF;
  5. Преобразование PDF в JPG;
  6. Вырезать область документа;
  7. Извлечение текста из изображения;
  8. Извлечение реквизитов документа из текстового образа документа;
  9. Выполнение привязки документов по реквизитам;
  10. Распознавание штрих кода;

Пример готового сценария:

Что и как можно использовать, для реализации данных шагов:

У всех приложений справка вызывается, стандартным ключом: -h или -help;

1. Image Magic - всем известный консольный редактор, может много чего;

справка достаточно подробная; заострять внимание надолго не буду информации в сети много:

Пример команды:

convert.exe $Источник -rotate 180 -trim -crop 1800x600+50+50 -resize 150%% $Получатель

Параметры:

    - rotate - поворот на N количество градусов;

    - crop - команда обрезки изображений, в формате Ширина x Высота + Отступ слева + отступ сверху;

    - resize - увеличение на процент;

    - trim - обрезать пустые области;

2. X-PDF tools - группа приложений позволяющих производить определенные операции;

    Сайт проекта: https://www.xpdfreader.com/download.html

Состав:

pdfinfo - получает информацию о pdf файле;   

pdftotext - если в PDF есть текстовый слой, то его можно извлечь данным приложением;

pdfimages - если в PDF есть изображения, как например скан документа - в этом случае можно извлечь данное изображение, не применяя Image Magic, по скорости выше, и без изменения картинки;

pdftopng - аналогично по функциональности тому что делает ImageMagick, преобразует из PDF в цельную картинку, но мне как то лучше зашло, не удалось добиться от ImageMagick вменяемого преобразования в pdf,  что бы хорошо распознавался текст, может я в танке, может ImageMagick , но данная приблуда проблему решила;  

pdftohtml - преобразует pdf в html, нормально преобразует только pdf с текстовым слоем,  это когда надо извлечь не только текст, но и сохранить структуру файла;

Примеры:

    pdfimages -j $Источник $Получатель

    Параметр -j - задает сохранение в jpeg;

    pdftopng $Источник $Получатель

3. TESSERACT OCR - вот это вообще пуля, не серебряная жаль,

однако тег #распознавание текста с изображений, бесплатно без смс и регистрации, скачать онлайн

поставить можно.

Результат стабильно хороший, я в ему почти всегда даю шапки документов, затем

извлекаю дату, номер и инн, в абсолютных числах что к чему не скажу - лень матушка цифры собирать, но по ощущениям, процентов 98 реквизитов распознается доступно для извлечения регулярками;

Сайт проекта: https://github.com/tesseract-ocr/tesseract/wiki

Пример запуска:

Английский: "tesseract.exe" $Источник $Получатель

Русский:    "tesseract.exe" $Источник $Получатель -l rus

Если кому то надо, что бы было куда жаловаться на результаты, то тогда вполне можно использовать, это:

//infostart.ru/public/586313/

но это за денежку, но можно жаловаться. 

4. PDFTK - используется для разделения или объединения файлов на страницы;

Сайт проекта: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

 pdftk $Источник cat 1 output $Получатель - извлечь первую страницу;

 pdftk $Источник burst output $Получатель - разбить pdf на страницы;

 pdftk $КаталогФайлов *.pdf cat output $Получатель - склеить все файлы из каталога в один файл;

5. Распознавание штрих кодов;

Использовал, компоненту из публикации:  //infostart.ru/public/877003/

Сайт проекта на Github, там можно посмотреть какие есть еще параметры.

https://github.com/zxing/zxing

Ахтунг ахтунг: требуется установленная Java!

Приведу пример запуска, может кому пригодится:

 

См. также

Настройки отчетов 1С. Инструкция для пользователя

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

Практические советы пользователям по настройке отчетов на СКД. Такие отчеты - как встроенные, так и внешние - используются в современных типовых конфигурациях: УТ 11, КА 2, БП 3.0, ЗУП 3.1 и других.

2 стартмани

11.03.2024    2692    22    accounting_cons    1    

14

Пользовательские настройки отчетов 1С. Часть 1. Простые и расширенные настройки

СКД Инструкции пользователю Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Простые приемы работы с отчетами на СКД. Что нужно знать пользователю про настройку отчетов, чтобы использовать их на полную катушку.

18.09.2023    6718    accounting_cons    5    

29

Оплата счетов в 1С:Бухгалтерии: выставлено и оплачено

Взаиморасчеты Инструкции пользователю Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бесплатно (free)

Обзор типовых возможностей «1С:Бухгалтерии» по контролю за оплатой счетов, а также примеры использования регистров типовой конфигурации для создания собственных отчетов.

16.05.2023    5940    accounting_cons    4    

13

Дополнительные расходы при приобретении товаров в 1С:Управление торговлей 11.5

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

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

27.02.2023    9562    TINa78    5    

24

Использование типовых возможностей 1С и их расширение. Часть 2

Инструкции пользователю Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

03.11.2022    3904    ixijixi    7    

18

Использование типовых возможностей 1С и их расширение. Часть 1

Инструкции пользователю БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

29.10.2022    7674    ixijixi    7    

58

Описываем ошибки правильно. Правило трех вопросов

Инструкции пользователю Конфигурации 1cv8 Бесплатно (free)

Коллеги, вне зависимости от того, кем Вы работаете, если Вы хоть как-то косвенно связаны с 1С - данная статья для Вас! Все мы либо сообщаем кому-то об ошибках, либо по другую сторону баррикад - исправляем ошибки. В статье расскажу, как максимально просто и эффективно общаться друг с другом на тему ошибок.

18.08.2022    5938    biimmap    20    

36
Оставьте свое сообщение