Мы часто сталкиваемся с ситуацией, когда после регистрации документа в системе "1С:Документооборот" (1С:ДО) ожидаемый регистрационный номер или штамп не появляется на PDF-файле. Эта проблема может быть вызвана различными причинами, от некорректных настроек до специфики работы с файлами, подписанными электронной подписью. Давайте вместе разберем эту ситуацию и выясним, как эффективно решить эту задачу.
В современных версиях "1С:Документооборот", начиная, например, с версии 3.0.20, функционал по вставке регистрационного штампа и штрихкода в PDF-файлы был значительно улучшен и упрощен. Теперь для выполнения этой операции нам не требуется устанавливать сторонние программы, такие как ImageMagick, на сервере. Это значительно упрощает администрирование и повышает надежность системы.
Рассмотрим по шагам, как воспользоваться этим функционалом:
Вызов команды: После регистрации документа перейдите в карточку зарегистрированного документа. В контекстном меню списка файлов вы обнаружите специальную команду "Вставить регистрационный штамп и штрихкод". Воспользуйтесь этой командой, чтобы инициировать процесс.
Настройка внешнего вида: Мы можем задать все необходимые параметры оформления регистрационного штампа. Перейдите в раздел "Настройка программы – Документы – Настроить оформление регистрационного штампа". Здесь нам доступны следующие опции:
После того как мы сохраним эти настройки, мы сможем проверить их применение на тестовом документе.
Расположение штампа: Обратите внимание, что выбранные нами параметры расположения штампа (например, левый нижний угол на первой странице) автоматически запоминаются для каждого сотрудника. Это очень удобно, так как каждый пользователь может настроить отображение штампа под свои предпочтения, и эти настройки будут сохраняться при последующих операциях.
Дополнительно хотим отметить, что существует также сервис "1С:Штамп". Этот сервис предоставляет расширенные возможности для вставки штампов в различные форматы документов, включая PDF, и может быть полезен для решения более сложных задач по автоматизации штампования документов.
Если вы используете более старые версии "1С:Документооборот", в которых отсутствует встроенный функционал по работе с PDF, или если вам требуется специфическая логика нанесения штампов, вы можете рассмотреть программную реализацию с использованием внешних утилит. Это более сложный подход, но он предоставляет большую гибкость.
Разберем основные шаги такого подхода:
Необходимые утилиты: Для реализации такого решения нам потребуется установить на сервере две внешние утилиты: ImageMagick и Ghostscript. Ghostscript используется для преобразования PDF в изображения, а ImageMagick — для нанесения штампа на эти изображения и последующего сбора их обратно в PDF.
Важный момент: При установке ImageMagick рекомендуется выбирать пакет Q8 (8-bit per pixel) для лучшей производительности, если только вам не требуется обработка изображений с очень высокой цветовой глубиной.
Процесс преобразования: Логика работы будет следующей:
ImageMagick наносится желаемый регистрационный штамп. Мы можем программно указать координаты, текст, шрифт и другие параметры штампа.Важно понимать: При таком подходе размер PDF-файла после нанесения штампа может значительно увеличиться. Это связано с тем, что текстовый PDF преобразуется в набор растровых изображений, что приводит к потере векторного формата и увеличению объема данных.
При работе с документами, уже подписанными электронной подписью (ЭП), нам необходимо быть крайне внимательными. Проанализируем ситуацию:
Нарушение контрольного числа: Если файл уже подписан электронной подписью, любое изменение этого файла (включая добавление штампа, регистрационного номера или даже незначительного пробела) приведет к изменению его контрольного числа (хеша). В результате этого действия электронная подпись станет недействительной, так как контрольное число файла больше не будет совпадать с тем, что было зафиксировано в подписи.
Рекомендация: В таких случаях мы настоятельно рекомендуем создавать новую версию файла со штампом, сохраняя при этом оригинальный файл без изменений. Таким образом, у нас будет доступ к исходному файлу с действующей электронной подписью, а также к версии файла с нанесенным штампом для дальнейшего использования или печати. В 1С:Документооборот такой подход легко реализуется через механизм версионирования файлов.
Подводя итог, хотим подчеркнуть ключевые моменты, которые помогут нам решить проблему с невставкой регистрационного номера в PDF:
Проверьте версию 1С:Документооборот: В первую очередь, выясним, какая версия конфигурации у нас используется. Если это актуальная версия (например, 3.0.20 и выше), то, скорее всего, проблема решается стандартными средствами.
Проверьте настройки штампа: Убедитесь, что все параметры оформления и расположения регистрационного штампа заданы корректно в разделе "Настройка программы – Документы – Настроить оформление регистрационного штампа".
Используйте команду в карточке документа: Не забывайте про команду "Вставить регистрационный штамп и штрихкод" в контекстном меню файла.
Учитывайте электронную подпись: Всегда помните о влиянии изменений на файлы с электронной подписью и используйте версионирование.
Для старых версий: Если стандартный функционал не подходит или версия устаревшая, рассмотрите программную реализацию с использованием ImageMagick и Ghostscript, но будьте готовы к увеличению размера файла и сложности настройки.
Следуя этим рекомендациям, мы сможем эффективно настроить и использовать функционал нанесения регистрационного номера или штампа на PDF-файлы в 1С:Документооборот.
← К списку