При работе с конфигурацией 1С:Документооборот 8, редакция 2.1 (для диагностики пригодится выгрузка прикрепленных файлов для 1С:Документооборот), пользователи часто сталкиваются с трудностями при настройке распознавания текста. Одной из распространенных проблем является появление сообщения об ошибке: "Не удалось распознать картинку. Возможно она не содержит текста для распознавания". В этом руководстве мы подробно разберем, почему возникает такая ошибка, и предложим комплексные шаги по ее устранению, охватывая все необходимые настройки и проверки.
Процесс распознавания текста в 1С:Документооборот опирается на внешние компоненты. Важно понимать, что успешная загрузка компоненты распознавания, такой как CuneiFormLoaderAddIn, еще не гарантирует корректную работу самого механизма распознавания. Сообщение "Не удалось распознать картинку" указывает на проблему уже на этапе обработки изображения внешним распознавателем, а не на ошибку загрузки компоненты в 1С.
Давайте рассмотрим подробнее каждый шаг, который поможет нам настроить распознавание текста.
Прежде всего, давайте проанализируем начальный этап, связанный с загрузкой внешней компоненты CuneiFormLoaderAddIn. В коде 1С, который отвечает за эту операцию, мы можем увидеть примерно такую конструкцию:
КомпонентаЗагрузкиCuneiForm = Неопределено;
Попытка
КодВозврата = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаЗагрузкиCuneiForm", "CuneiFormLoaderAddIn", ТипВнешнейКомпоненты.Native);
КомпонентаЗагрузкиCuneiForm = Новый("AddIn.CuneiFormLoaderAddIn.AddInNativeExtension");
Исключение
ОписаниеОшибки = НСтр("ru = 'Не удалось загрузить компоненту загрузки CuneiForm'");
Возврат "Ошибка";
КонецПопытки;
Если в результате выполнения этого кода переменная КодВозврата оказывается пустой строкой (""), это не является ошибкой. Наоборот, это свидетельствует об успешной загрузке компоненты в систему. В случае реальной проблемы с загрузкой, мы бы получили исключение, и в ОписаниеОшибки содержалась бы дополнительная информация о причинах неудачи. Таким образом, если компонента загрузилась, проблема заключается в некорректной работе самого механизма распознавания, а не в его подключении к 1С.
Для корректной работы распознавания в 1С:Документооборот нам понадобятся три основных сторонних компонента. Каждый из них играет свою роль в цепочке обработки изображений:
Важно: Все эти программы должны быть установлены на том сервере (в случае клиент-серверного варианта 1С) или на том клиентском компьютере (в файловом варианте), где будет выполняться процесс распознавания. Установка должна быть произведена под тем пользователем, от имени которого работает сервер 1С:Предприятия. Это критически важно для корректной работы и доступа к ресурсам.
Одной из наиболее частых причин проблем с распознаванием являются недостаточные права доступа. Мы должны убедиться, что пользователь, от имени которого работает распознавание, имеет необходимые разрешения:
internal.vit, а иногда и диагностические set????.tmp.err. Без прав на запись в этот каталог, программа не сможет функционировать. Также, необходимо предоставить права на создание файлов для обычных пользователей и права на их изменение и удаление для СОЗДАТЕЛЯ-ВЛАДЕЛЬЦА.HKEY_CLASSES_ROOT\CuneiformFace.Document\CLSID и к соответствующему ей CLSID (например, {5D1A…}). Хотя влияние этих настроек может быть не всегда очевидным, это может решить некоторые специфические проблемы совместимости.После установки внешних компонент и настройки прав доступа, мы переходим к конфигурации самой программы 1С:Документооборот:
magick.exe. Этот файл обычно находится в директории установки ImageMagick (например, "C:\Program Files\ImageMagick\magick.exe"). В некоторых случаях, если ImageMagick был установлен корректно, очистка пути в настройках 1С:Документооборот и повторное его указание может помочь системе "увидеть" исполняемый файл.Если ваша задача включает извлечение текста непосредственно из PDF-файлов (а не только распознавание изображений, полученных из PDF (поможет создание качественных копий документов со смартфона)), крайне важно убедиться, что разрядность сервера 1С:Предприятия и установленного ifilter совпадает. То есть, если сервер 1С работает в 64-битном режиме, то и ifilter должен быть 64-битным. И наоборот для 32-битной среды. Несоответствие разрядности может привести к тому, что извлечение текста из PDF будет некорректно работать или вообще не будет происходить.
Для работы на Windows Server 2008 могут потребоваться дополнительные действия, включая запуск командной строки от имени администратора для выполнения некоторых команд или регистрации компонентов.
Процесс распознавания в 1С:Документооборот управляется регламентными заданиями. Мы должны убедиться, что они активны и работают:
Чтобы убедиться, что все сторонние компоненты установлены и настроены корректно, мы можем выполнить несколько проверок:
convert. Эта команда является частью ImageMagick. Укажите путь к PDF-файлу и путь для сохранения результирующего PNG-файла. Например:
convert "C:\path\to\your_document.pdf" "C:\path\to\output.png"
Если, несмотря на все усилия, проблемы с CuneiForm продолжаются, или вам требуется более современное и эффективное решение, существуют альтернативные варианты:
В случае, если распознать документ так и не удается, 1С:Документооборот присвоит файлу статус "Не удалось распознать". Это означает, что система попыталась обработать файл, но не смогла извлечь из него текст, что может быть связано как с техническими проблемами, так и с низким качеством исходного изображения.
Тщательно следуя этим шагам, мы можем значительно повысить шансы на успешную настройку распознавания текста в 1С:Документооборот 2.1 и избежать распространенных ошибок.