Распознавание изображений на сервере 1С:Документооборот 8

Каким образом работает распознавание картинок в 1С:Документооборот?

В статье "Извлечение текстов в 1С:Документооборот" сказано, что 1С:Документооборот 8 умеет извлекать тексты из популярных офисных форматов файлов и использовать эту информацию для полнотекстового поиска по содержимому файлов. А вот если в СЭД помещен файл графического формата, то как получить распознанный текст из картинки? В данной статье пойдет речь о том, какие надо установить дополнительные программы на сервер 1С, чтобы работало автоматическое распознавание сканов файлов.


Настройка распознавания изображений в 1С:Документооборот в клиент-серверном варианте на живых примерах подробно рассмотрена в видео-курсе, заказать который можно по ссылке http://video.doc-lvv.ru/

Работа сканирования и распознавания в 1С:Документооборот 8 возможна только под Windows.
Чтобы настроить распознавание изображений на сервере нужно:
1. Установить программы CuneiForm, ImageMagic и Ghostscript.
2. Задать в настройках программы параметры распознавания и указать путь к программе ImageMagic.
Общая схема работы сканирования и распознавания указана на следующем рисунке.
Установку программы CuneiForm в файл-серверном варианте следует делать на компьютере пользователя под тем пользователем, который в дальнейшем будет с ней работать, а в клиент-серверном варианте на сервере 1С - под пользователем, под которым работает сервис 1С:Предприятия.

Установка CuneiForm

Программа CuneiForm нужна для распознавания графических файлов.
Находим в дистрибутиве cuneiform файл setup.exe. Запускаем его и устанавливаем.

Открываем 1С:Документооборот под Администратором. Переходим в настройки программы и устанавливаем флаг «Распознавание изображений с помощью CuneiForm».

Загрузим любую картинку с текстом.

Откроем ее на просмотр и убедимся, что там есть текст.

После отработки регламентного задания «Распознавание» увидим распознанный текст в текстовом образе. 
Откроем теперь тестовый образ из карточки файла.
В текстовом образе карточки файла 1С:Документооборот будет находиться распознанный текст из картинки.

Установка Ghostscript

Программа Ghostscript нужна программе ImageMagic для преобразования графических файлов в формат pdf и обратно.
Находим в дистрибутиве Ghostscript файл gs901w32.exe. Запускаем его.
Нажимаем кнопку Setup.
Указываем путь установки и нажимаем кнопку Install.
Программа установлена.

Установка ImageMagic

Программа ImageMagic нужна для преобразования графических файлов в формат pdf и обратно.
Находим в дистрибутиве ImageMagic файл ImageMagick-6.9.1-6-Q8-x86-dll.exe. Запускаем его.
Нажимаем кнопку Next.
Соглашаемся с условиями лицензионного соглашения.
Читаем полезную информацию.
Указываем путь установки.
Указываем название папки стартового меню.

Указываем компоненты, которые надо установить.
Подтверждаем установку. Нажимаем кнопку Install.
Читаем полезную информацию.
Программа установлена. Нажимаем кнопку Finish.
Теперь, чтобы на сервере 1С происходило преобразование отсканированных pdf-файлов в графические файлы с последующим распознаванием нам надо указать общие настройки распознавания.
В программе 1С:Документооборот в настройках программы нажимаем на кнопку «Настройки распознавания», включаем использование ImageMagick и указываем путь к программе.
Далее загрузим в папку файлов многостраничный pdf.

После того, как отработает регламентное задание «Распознавание» мы в текстовом образе увидим распознанный текст.

28 комментариев:

  1. Денис Ефимов8 июня 2017 г., 13:54

    Владимир, не нашел других тем про сканирование.
    Скажите, а есть ли где то материалы как можно включить потоковое сканирование при условии, что все пользователи работают в 1С через rdp, и все сканеры тоже сетевые.

    ОтветитьУдалить
    Ответы
    1. Если драйвер сканера установлен на rdp и работает сканирование с удаленного рабочего стола, то нет проблем тогда и с потоковым сканированием в 1С:Документооборот.

      Удалить
    2. Денис Ефимов9 июня 2017 г., 11:36

      А если при этом в большой организации много разных моделей сканеров, для каждой из которых нужны свои драйвера, то не будет ли конфликтов, если их все выложить на rdp?

      Удалить
    3. Не должно быть. У каждого пользователя в 1С:ДО будет в персональных настройках прописан свой сканер.

      Удалить
  2. Денис Ефимов13 июня 2017 г., 10:29

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

    И что будет, если на листе будет два штрихкода: один - нужный, второй - "левый"? Система проигнорирует "левый" штрихкод или выдаст ошибку?

    ОтветитьУдалить
  3. Нужно добавить документ с внешним штрихкодом к карточке документа перед сканированием, тогда она его корректно по внешнему штрихкоду добавить в систему. Сделать это можно в карточке документа Еще - Штрихкоды - Добавить внешний штрихкод. Но если не добавлять внешний штрихкод, то тоже ничего штрашного не будет, просто документ не будет добавлен в ДО и надо будет это сделать вручную при потоковом сканировании.

    ОтветитьУдалить
  4. Денис Ефимов13 июня 2017 г., 10:56

    мы в самой системе ДО не планируем использование штрихкодов, но хотим использовать ДО как хранилище документов из внешних систем, где ведется свое штрихкодирование.
    Планируем при создании документа во внешней системе создавать его аналог в ДО, и его штрихкод использовать для идентификации. В этом случае внешний штрихкод логичнее загрузить как основной или все же как внешний?

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

    ОтветитьУдалить
    Ответы
    1. В этом случае логичнее из внешней системы передавать номера штрихкодов в ДО и сразу же создавать карточки документов с этими штрихкодами.

      Конечно же пользоатель увидит те документы, которые не были распознаны и помещены в карточку документа.

      Удалить
    2. Денис Ефимов13 июня 2017 г., 11:12

      Простите, продолжу провокационные ситуации со сканированием.

      Пример. Мы создали в ДО внутренний документ и скопировали ш/к из внешней системы.
      Во внешней системе есть ряд печатных форм (накладная, счет-фактура, акт, ТТН-ка), которые относятся к одному документу, и мы их подготовили в общей пачке для потокового сканирования, всего 4 отдельных печатных бумажки.
      Сперва накладную с основным штрихкодом,
      Потом еще один документ с тем же штрихкодом,
      Потом попался документ и с основным и еще с "левым" штрихкодом, например Акт, где другая сторона попросила проставить еще и свой штрихкод.
      И в конце еще один документ без штрихкода.

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

      Можете подробнее эту ситуацию описать?

      Удалить
    3. Если у Вы поставите в настройках потокового сканирования "Штрихкод на первом листе", то листы без штрихкода будут присоединены к предыдущим листам и будет сделан один pdf-файл. Листы с левым штрихкодом не будут присоединены никуда, их нужно будет потом ручками разместить в системе.

      Есть еще настройки "Штрихкод на каждом листе" и "Штрихкод на отдельном листе".

      Удалить
    4. Денис Ефимов13 июня 2017 г., 11:34

      Т.е. при настройке "Штрихкод на первом листе" - первые два документа будут объединены в один пдф, а третий и четвертый - не будут опознаны.
      При двух других настройках - первые два документа будут отдельными файлами присоединены к документу, но третий и четвертый точно так же будут проигнорированы.

      Я правильно понял?

      Если бы мы хотели все опознать, нам потребуется во внешней системе на ВСЕ печатные формы выводить штрихкоды обязательно, и при требовании добавления других ш/к обязательно их переносить в ДО в качестве дополнительных штрихкодов.
      Так?

      Удалить
    5. Да, но не совсем.
      В настроке "Штрихкод на первом листе" первые два листа будут присоеденены как отдельные файлы.

      так, можно и как внутренние переносить (без разницы)

      Удалить
    6. Денис Ефимов13 июня 2017 г., 12:13

      спасибо, простите за занудство

      Удалить
  5. Добрый день, установил ImageMagick но там нет convert.exe

    ОтветитьУдалить
  6. Не конвертирует... Всё установлено, всё прописано.

    Пишет, не удалось распознать картинку, возможно она не содержит изображение. Может версия ПДФ не та? Как можно отдебажить работу установленных компонент?

    ОтветитьУдалить
  7. Установили ImageMagic на сервер? путь прописали полный к файлу convert.exe?

    ОтветитьУдалить
    Ответы
    1. Да, это всё сделано. Картинки распознаёт без проблем, а с ПДФ - засада. Не знаю где копать... Версия документооборота 8 корп 2.1, движок 8.3.8.2054

      Удалить
    2. Может pdf не содержат картинок, там только текстовый слой?

      Удалить
    3. Неа. Там сканы, 1-2 страницы. В самом имажмэжике - открывается, показывает.

      Версия SC 9.1, IM 7.0.6.q16 (пробовал и 32 и 64 битные), CF - 2007 года, стандартная. В общем, всё по феншую, а счастья нет.

      Попробую на локальной базе и на вин10 побаловаться.

      Удалить
  8. В продолжение. Проверил конвертер - он работает, файлы преобразует в png. Проверил пути к конвертеру (и в общих, и в персональных настройках) - всё окей. Где копать - не пойму.

    ОтветитьУдалить
  9. Решил проблему! Начал мониторить (утилита процмон) к каким файлам обращается convert.exe, выяснил что не может найтись файл core_rl_png_.dll. А он лежит в корне имажмэджика (C:\Program Files\ImageMagick-7.0.6-Q16\).

    Скопировал этот файл (вместе со всеми другими core_rl_*.dll) в папку C:\Program Files\ImageMagick-7.0.6-Q16\modules\coders и заработало.

    Спасибо за участие!

    ОтветитьУдалить
    Ответы
    1. Спасибо! Очень своевременный ответ! Тоже помогло!

      Удалить
    2. У меня тоже была проблема с потоковым сканированием PDF. в ошибку вываливалось. Оказалось, проблема была только с теми файлами, в имени которых есть пробел. Если пробела нет, то все спокойно распознавалось.Интересно, 1С в курсе, что у них есть такая проблема?

      Удалить
  10. Спасибо Renatius, мне тоже помогло.

    ОтветитьУдалить
  11. "Установку программы CuneiForm ... в клиент-серверном варианте на сервере 1С - под пользователем, под которым работает сервис 1С:Предприятия."
    У пользователя USR1CV8 нет прав администратора.

    Давать админские права, устанавливать, а потом отбирать?

    ОтветитьУдалить
    Ответы
    1. Да, дать права, а потом забрать.
      Или второй вариант: установить можно под админом, а потом пользователю USR1CV8 дать полные права на папку, куда будет установлена программа CuneiForm.

      Удалить
    2. Получилось.
      Достаточно дать полные права на папку установки (правда не понятно зачем это - вроде ничего туда не пишется...)

      Выбираю "Поместить только текстовый образ"- работает, сохраняю.
      Но появляется пункт меню "Открыть текстовый образ".
      В чем может быть проблема?

      Удалить