Визуализация электронной подписи на документе Adobe PDF с указанием положения

15.05.22

Функциональные - Документооборот и делопроизводство (СЭД)

Делать визуализацию по ГОСТ Р 7.0.97-2016 исходящего документа в формате MS Word мы уже умеем. А если пришел входящий документ в виде картинки или в формате Adobe PDF подписанный ЭЦП, что будем делать? Итак, набив руку на предыдущих работах, готов замахнуться на визуализацию ЭП на документах Adobe PDF и графических файлах.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Визуализация электронной подписи на документе Adobe PDF с указанием положения для версии КОРП:
.cfe 280,65Kb ver:1.0.3.1
45
45 Скачать (5 SM) Купить за 3 050 руб.
Визуализация электронной подписи на документе Adobe PDF с указанием положения для версии ПРОФ:
.cfe 226,92Kb ver:1.П.3.1
4
4 Скачать (5 SM) Купить за 3 050 руб.

Давно ходил вокруг решения данного вопроса и всё никак не получалось придумать каким образом пользователь будет определять куда ставить штамп (или штампы) ЭП при визуализации. Документ ведь может быть любым, в любом графическом формате, любой ориентации и любого разрешения. Значит машина не сможет сама выполнить требования п. 5.23 ГОСТ Р 7.0.97-2016, по части размещения штампа там, где в обычном документе размещается подпись. Решение пришло неожиданно в виде урока по javascript на тему перемещения картинки по web-странице мышкой. Сразу скажу, что javascript для меня не родной и, возможно, существует более оптимальные и красивые решения.

Алгоритм работы следующий:

  1. исходный файл на сервере конвертируется в набор изображений;
  2. формируется набор превьюшек изображений для формы указания положений штампов (по умолчанию ширина превьюшки 200 точек);
  3. на сервере формируются изображения штампов ЭЦП, для которых тоже создаются превьюшки;
  4. набор превьюшек и массив данных ЭЦП передаётся на клиент;
  5. на клиенте с помощью интерактивной формы задаётся положение штампов ЭЦП на документе (все штампы на одном листе, чтобы не усложнять);
  6. на сервере файлы штампов совмещаются с файлом нужного листа документа;
  7. все листы объединяются в файл формата Adobe PDF (для однообразия);
  8. полученный файл добавляется к карточке документа.

Вся работа с изображениями идёт с использованием программы ImageMagick, использовал версию 7.0.10-Q8 (Q16 не рекомендую, т. к. разницы в нашем случае нет, а нагрузка на сервер возрастает).

Размещение штампов на документе осуществляется на клиенте в специальной форме, на которой в поле HTML документа формируется web-страничка с превью листа документа, превью штампа (или штампов), который можно двигать мышкой. Для удобства работы с несколькими подписями справа выводится субъект ЭП. Файл визуализации всегда создаётся в формате Adobe PDF и автоматически добавляется в карточку входящего или исходящего документа. Там есть один момент, механизм по перетаскиванию картинки по web-страничке корректно работает только если размер страницы меньше или равен размеру окна (нет полос прокрутки), по этому сначала идёт измерение размера окна браузера и потом масштабирование превью листа документа под этот размер. Однозначный костыль, но работает исправно.

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

Команды и пункты меню в формах документов создаются динамически, соответственно название команды в меню нужно искать с процедуре ВЭПД_ПриСозданииНаСервереПосле() для форм. Сейчас команда называется «Создать файл визуализации (произвольный документ)», т. к. существует похожая по функционалу и названию команда из другого моего расширения.

Расширение тестировалось на платформе версии 8.3.17.1851 в конфигурации Документооборот государственного учреждения, редакция 2.1 (2.1.28.12).

UPD: 22.09.2021 добавлена работа с внутренними документами, изменено название меню, функции из форм перенесены в общий модуль.

UPD: Текущая версия протестирована на новых конфигурациях 1С:Документооборот (проверялось на ДГУ (2.1.29.16 и КОРП 2.1.30.4)

UPD: Добавлен вариант для версии ПРОФ, там есть некоторые нюансы при подключении расширения к конфигурации, адаптация проводилась на версии 2.1.29.18

ЭЦП ЭП визуализация подпись электронная 7.0.97-2016

См. также

Документооборот и делопроизводство (СЭД) Типовые Бухгалтер Пользователь Руководитель проекта Платформа 1С v8.3 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:ДО!

48500 руб.

19.02.2016    108546    121    5    

96

SALE! 30%

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Бухгалтер Пользователь Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    106887    313    173    

326

Документооборот и делопроизводство (СЭД) Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Продукт "Апрель Софт: Бухгалтерия позаказного производства, ред. 3.0" предназначен для удобного и оперативного управления процессами производства, отгрузок и снабжения в производственных компаниях. Программный продукт открывает новые функциональные возможности для ведения документооборота.

11400 руб.

18.02.2016    22958    1    1    

5

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    30269    35    49    

71

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    45653    65    59    

79

Печатные формы Документооборот и делопроизводство (СЭД) Учет документов Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    92529    66    98    

100

Документооборот и делопроизводство (СЭД) Роли и права Системный администратор Платформа 1С v8.3 1С:Документооборот Управленческий учет Платные (руб)

Внешняя обработка позволит быстро добавить участников в любое количество документов, заменить целиком набор участников или удалить лишь некоторых из них для одного объекта или группы документов.

3000 руб.

23.10.2015    63606    113    25    

127
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2507 27.04.21 09:13 Сейчас в теме
Я бы только за наименование плюс поставил )

Документооборот из коробки не умеет визуализировать подпись в пдф ?
2. soulner 461 27.04.21 10:06 Сейчас в теме
(1) умеет, но не по ГОСТу, 1С повсеместно игнорируют п. 5.23 ГОСТ Р 7.0.97-2016. Так что, хотите ГОСТ, качайте расширение, не хотите, не качайте.
3. e770ac 18.06.21 14:31 Сейчас в теме
Добрый день.
Добавил расширение на Корп версию.
Почему при создании файла теряется исходное разрешение файла.? Причем очень очень сильно.
6. soulner 461 18.06.21 18:10 Сейчас в теме
(3) Причина в том, что разрешение принудительно устанавливается в 200dpi. Я посчитал, что этого достаточно (даже много). В настройках можно эти данные поменять, где находятся настройки описано в статье.
4. e770ac 18.06.21 15:19 Сейчас в теме
У вас написано что на произвольном документе. На файле mxl не дает. Вордовский так же
5. soulner 461 18.06.21 18:07 Сейчас в теме
(4) Да уж, с одной стороны из описания понятно, что не на произвольном, а только на изображениях и PDF. А с другой не поспоришь, в названии стоит слово "произвольный". Подумаю, как переименовать статью. Для файлов MS Word есть другое расширение https://infostart.ru/public/1179881/
7. user1647001 22.09.21 00:19 Сейчас в теме
хорошо бы еще для внутренних документов расширить данный функционал
8. soulner 461 22.09.21 10:06 Сейчас в теме
(7) Добавил необходимый функционал и ещё пару изменений по мелочи.
user1647001; +1 Ответить
9. user1647001 22.09.21 13:23 Сейчас в теме
(8) спасибо большое, только что-то позицию штампа установить не могу на внутреннем документе.. на превью подвинуть в какое -либо место не получается, а если сразу нажать "сформировать", то будет ошибка "позиция штампа не устанавливалась, закрыть без формирования документа? да/нет"
и если файл подписан двумя / тремя разными эцп, то визуализируется одна два / три раза
10. zabaluev 464 02.11.21 16:06 Сейчас в теме
Здравствуйте.

Получаю такую ошибку при визуализации:
Ошибка конвертации файла
{ВизуализацияЭЦППроизвольныеДокументы ОбщийМодуль.ВЭПД_ОбщегоНазначенияВызовСервера.Модуль(32)}: ВызватьИсключение "Ошибка конвертации файла";
{ВизуализацияЭЦППроизвольныеДокументы Справочник.ВнутренниеДокументы.Форма.ФормаЭлемента.Форма(27)}: НастройкиПоложения = ВЭПД_ОбщегоНазначенияВызовСервера.ИнициализацияНастроекПоложения(


Запускается команда с таким сообщением:

"C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\magick.exe" convert -density 200 -units PixelsPerInch "C:\Users\USR1CV8\AppData\Local\Temp\v8_1075_94.pdf" "C:\Users\USR1CV8\AppDa
convert: FailedToExecuteCommand `"gswin64c.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "
-r200x200" -dPrinted=false "-sOutputFile=C:/Users/ZABALU~1/AppData/Local/Temp/magick-2vQr9ibpJNSlilBu0ectOu-YYFNQornC%d" "-fC:/Users/ZABALU~1/AppData/Local/Temp/magick-5anjzDfH1O6k-ImAvLnv-lO0ApvzZy3K" "-fC:/Us
ers/ZABALU~1/AppData/Local/Temp/magick-oE-mIlJu7qttjpuIIIx7HI5xsBDz-ZK8"' (The system cannot find the file specified.
) @ error/delegate.c/ExternalDelegateCommand/516.
convert: PDFDelegateFailed `The system cannot find the file specified.
' @ error/pdf.c/ReadPDFImage/705.
convert: no images defined `C:\Users\USR1CV8\AppData\Local\Temp\v8_1075_95\image_%06d.jpg' @ error/convert.c/ConvertImageCommand/3322.
12. soulner 461 15.05.22 11:47 Сейчас в теме
(10) Не хватает Ghostscript, его использует ImageMagic для работы с PDF
11. YA_310135855 11.05.22 17:46 Сейчас в теме
Платформа: 1С:Предприятие 8.3 (8.3.20.1710)
Конфигурация: Документооборот 8 ПРОФ, редакция 2.1 (2.1.30.4) (http://v8.1c.ru/doc8/)
Copyright © ООО "1C-Софт", 2009-2021. Все права защищены
(http://www.1c.ru)
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси

Ошибки:
--------------------------------------------------------------------------------
11.05.2022 19:46:04
ВизуализацияЭЦППроизвольныеДокументы (1.0.3.1): Критичная: Значение контролируемого свойства ОбъектРасширяемойКонфигурации у объекта Язык.Русский не совпадает со значением в расширяемой конфигурации
13. soulner 461 16.05.22 11:49 Сейчас в теме
(11) для версии ПРОФ сделана специальная адаптация расширения
14. user1351932 02.10.23 12:44 Сейчас в теме
Добрый день.
После открытия файла визуализации через Adobe Acrobat выходит ошибка Недостаточно данных для изображения, как-то это можно исправить или нужно редактор менять?
15. soulner 461 02.10.23 13:50 Сейчас в теме
(14) Добрый день. Попробуйте открыть получившийся файл в текстовом шестнадцатеричном редакторе, внизу на скрине, как это выглядит у меня. Там в заголовке должна быть версия PDF, название файла, имя программы в которой он создан вперемешку с крокозябрами. Можно попробовать открыть в другой программе, браузеры некоторые умеют открывать pdf.
Прикрепленные файлы:
16. user1351932 02.10.23 14:38 Сейчас в теме
(15) в браузере открывается корректно. через редактор - версия PDF 1.7
Прикрепленные файлы:
17. soulner 461 02.10.23 14:56 Сейчас в теме
(16) Видимо у вас старый Adobe Reader, который не понимает версию файлов 1.7. Я не нашёл, как в команде magic convert указать версию pdf-файла, в которую будут преобразованы изображения. Говорят есть такая возможность в GhostScript (тут), но я в своих решениях его не использую. Попробуйте обновить программу просмотра.
18. user1351932 03.10.23 08:14 Сейчас в теме
(17) скачиваем последнюю версию редактора и ситуация та же
19. soulner 461 03.10.23 11:52 Сейчас в теме
(18) Я могу вам предложить только попробовать другую версию ImageMagick, т.к. за формирование pdf-документа отвечает именно она.
20. user1351932 03.10.23 16:20 Сейчас в теме
(19) Благодарю! Действительно, проблема была в старой версии ImageMagick.
21. BAG211270 5 26.07.24 15:03 Сейчас в теме
Добрый день. А подпись будет только на последней странице многостраничного pdf файла? Или на каждой?
22. soulner 461 26.07.24 15:06 Сейчас в теме
(21) Добрый. На какую установите, на такой и будет. Там мышкой позиционируется печать куда нужно
23. BAG211270 5 26.07.24 15:31 Сейчас в теме
(22) Я правильно понимаю что если я на каждой странице размещу подпись, то она и выведется на каждой? И учитывается ли размещение страницы книжная/альбомная? хотя бы по первой странице?
24. soulner 461 26.07.24 15:34 Сейчас в теме
(23) Вы на одной странице размещаете подпись. Нажимаете Ок и всё. Нет возможности разнести подписи или одну подпись по раздым страницам.
25. BAG211270 5 26.07.24 15:38 Сейчас в теме
(24) А по разметке страницы книжная/альбомная? Учитывается?
26. soulner 461 26.07.24 15:39 Сейчас в теме
(25) Да. Из PDF-файла создаётся набор картинок, они имеют ту же ориентацию, что и страницы документа.
27. BAG211270 5 30.07.24 11:13 Сейчас в теме
Сергей, добрый день.

А как можно с Вами связаться?
Оставьте свое сообщение