Визуализация электронной подписи на документе 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    108631    123    5    

97

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    107257    313    173    

326

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

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

11400 руб.

18.02.2016    22973    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    30373    35    49    

71

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

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

14880 руб.

17.12.2018    45707    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    92622    66    98    

100

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

Внешняя обработка "загрузка внутренних документов из Excel в 1С Документооборот 8", позволяет по заданному шаблону загрузить внутренние документы в конфигурацию в режиме управляемого приложения. Также есть возможность загружать файлы внутренних документов.

3600 руб.

14.03.2014    40629    31    17    

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

Документооборот из коробки не умеет визуализировать подпись в пдф ?
2. soulner 462 27.04.21 10:06 Сейчас в теме
(1) умеет, но не по ГОСТу, 1С повсеместно игнорируют п. 5.23 ГОСТ Р 7.0.97-2016. Так что, хотите ГОСТ, качайте расширение, не хотите, не качайте.
3. e770ac 18.06.21 14:31 Сейчас в теме
Добрый день.
Добавил расширение на Корп версию.
Почему при создании файла теряется исходное разрешение файла.? Причем очень очень сильно.
6. soulner 462 18.06.21 18:10 Сейчас в теме
(3) Причина в том, что разрешение принудительно устанавливается в 200dpi. Я посчитал, что этого достаточно (даже много). В настройках можно эти данные поменять, где находятся настройки описано в статье.
4. e770ac 18.06.21 15:19 Сейчас в теме
У вас написано что на произвольном документе. На файле mxl не дает. Вордовский так же
5. soulner 462 18.06.21 18:07 Сейчас в теме
(4) Да уж, с одной стороны из описания понятно, что не на произвольном, а только на изображениях и PDF. А с другой не поспоришь, в названии стоит слово "произвольный". Подумаю, как переименовать статью. Для файлов MS Word есть другое расширение https://infostart.ru/public/1179881/
7. user1647001 22.09.21 00:19 Сейчас в теме
хорошо бы еще для внутренних документов расширить данный функционал
8. soulner 462 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 462 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 462 16.05.22 11:49 Сейчас в теме
(11) для версии ПРОФ сделана специальная адаптация расширения
14. user1351932 02.10.23 12:44 Сейчас в теме
Добрый день.
После открытия файла визуализации через Adobe Acrobat выходит ошибка Недостаточно данных для изображения, как-то это можно исправить или нужно редактор менять?
15. soulner 462 02.10.23 13:50 Сейчас в теме
(14) Добрый день. Попробуйте открыть получившийся файл в текстовом шестнадцатеричном редакторе, внизу на скрине, как это выглядит у меня. Там в заголовке должна быть версия PDF, название файла, имя программы в которой он создан вперемешку с крокозябрами. Можно попробовать открыть в другой программе, браузеры некоторые умеют открывать pdf.
Прикрепленные файлы:
16. user1351932 02.10.23 14:38 Сейчас в теме
(15) в браузере открывается корректно. через редактор - версия PDF 1.7
Прикрепленные файлы:
17. soulner 462 02.10.23 14:56 Сейчас в теме
(16) Видимо у вас старый Adobe Reader, который не понимает версию файлов 1.7. Я не нашёл, как в команде magic convert указать версию pdf-файла, в которую будут преобразованы изображения. Говорят есть такая возможность в GhostScript (тут), но я в своих решениях его не использую. Попробуйте обновить программу просмотра.
18. user1351932 03.10.23 08:14 Сейчас в теме
(17) скачиваем последнюю версию редактора и ситуация та же
19. soulner 462 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 462 26.07.24 15:06 Сейчас в теме
(21) Добрый. На какую установите, на такой и будет. Там мышкой позиционируется печать куда нужно
23. BAG211270 5 26.07.24 15:31 Сейчас в теме
(22) Я правильно понимаю что если я на каждой странице размещу подпись, то она и выведется на каждой? И учитывается ли размещение страницы книжная/альбомная? хотя бы по первой странице?
24. soulner 462 26.07.24 15:34 Сейчас в теме
(23) Вы на одной странице размещаете подпись. Нажимаете Ок и всё. Нет возможности разнести подписи или одну подпись по раздым страницам.
25. BAG211270 5 26.07.24 15:38 Сейчас в теме
(24) А по разметке страницы книжная/альбомная? Учитывается?
26. soulner 462 26.07.24 15:39 Сейчас в теме
(25) Да. Из PDF-файла создаётся набор картинок, они имеют ту же ориентацию, что и страницы документа.
27. BAG211270 5 30.07.24 11:13 Сейчас в теме
Сергей, добрый день.

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