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

15.05.22

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

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

Скачать исходный код

Наименование Файл Версия Размер
Визуализация электронной подписи на документе Adobe PDF с указанием положения для версии КОРП:
.cfe 280,65Kb
43
.cfe 1.0.3.1 280,65Kb 43 Скачать
Визуализация электронной подписи на документе Adobe PDF с указанием положения для версии ПРОФ:
.cfe 226,92Kb
4
.cfe 1.П.3.1 226,92Kb 4 Скачать

Давно ходил вокруг решения данного вопроса и всё никак не получалось придумать каким образом пользователь будет определять куда ставить штамп (или штампы) ЭП при визуализации. Документ ведь может быть любым, в любом графическом формате, любой ориентации и любого разрешения. Значит машина не сможет сама выполнить требования п. 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С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

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

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

48500 руб.

19.02.2016    107555    107    5    

89

1С:Архив

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

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    5051    6    1    

5

RayCon® Foreign Trade - Документооборот валютного контроля и международных платежей для участников ВЭД

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

Программа предназначена для автоматизации внешнеторговых компаний и обеспечивает документооборот валютного контроля: присвоение Уникального номера контракта (УНК), формирований сведений о валютных операциях (СВО) и справок о подтверждающих документах (СПД), прочих необходимых форм учета и отчетности по валютным операциям согласно действующему валютному законодательству Российской Федерации, документооборот валютных платежей согласно международным стандартам и документооборот купли-продажи валюты, а также выгрузку любых документов 1С в любую систему клиент-банк.

30000 руб.

13.05.2009    67178    3    29    

42

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1708    0    0    

8

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

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

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

14880 руб.

17.12.2018    44719    62    51    

75

Легкий документооборот (+чат-бот для Telegram)

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

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

14900 руб.

15.11.2018    28443    29    48    

62

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в 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С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    102832    299    173    

315

Бесшовная интеграция 1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

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

Бесшовная интеграция с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Бесшовный обмен и связь позволяют экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    54539    34    67    

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

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