Изменить размер штампа эцп в 1с документооборот

Обновлено: 07.07.2024

На одном из крупных проектов возникла не совсем обычная для 1С задача. Нужно было организовать массовую отправку и подписание документов контрагентов с помощью электронной цифровой подписи. Поиск информации в справочной системе и на 1Сных форумах нужного результата не дал. Пришлось разбираться со средствами криптографии, электронными ключами и сторонними утилитами. Найденное решение оказалось простым и достаточно гибки для повторения в других проектах, поэтому хочу с вами поделиться.

Постановка задачи в цифрах:
• На предприятии заказчика работает почти 3000 человек в более 50 филиалах по всей России.
• На предприятии заказчика используется УПП 1.3 (платформа 8.2.19.76).
• Более 10 000 активных контрагентов.
• Для большей части контрагентов (покупателей) раз в месяц нужно отправлять документы в электронном виде (Счета, акты, счета-фактуры, РТУ и т.д.). Всего, около 100 000 документов.
• На отправку документов выделяется 2 рабочих дня.
• В процедуре отправки должно быть задействовано минимальное количество людей. Сейчас их число удалось сократить до 2х человек.
• Документы должны отправляться по электронной почте в виде вложенных PDF-файлов. Каждый PDF-файл должен быть подписан ЭЦП.

Два слова, что вообще собой представляет ЭЦП. Для подписания и работы с файлами используется два ключа: закрытый и открытый. Закрытый ключ хранится у Вас на токене и используется для подписания или шифрования документов. Открытый ключ должен быть распространен всем пользователям, которые должны работать с подписанным Вами документом. Обычно это происходит автоматически при подписании файла. Далее, есть файл, который нам нужно подписать. С помощью специального ПО из содержания файла и Вашего закрытого ключа создается уникальная символьная последовательность, что-то вроде контрольной суммы. Эта последовательность и есть электронно-цифровая подпись. ЭЦП всегда уникальна для данного пользователя и данного документа. Подпись содержит информацию о дате подписания документа, подписанте, контрольную сумму для подписанного документа и ссылку или сам файл открытого ключа. Подпись может быть добавлена в подписываемый файл или сохранена в виде отдельного файла. Нас, конечно, интересует первый вариант.

Решение первое, полу-ручное

Подавляющее большинство ключей ЭЦП выпускаются в виде eToken или Rutoken USB-модулей. В моем случае был eToken. Кто не знает, основное отличие состоит в том, что eToken имеет встроенный аппаратный криптографический сопроцессор. Это значит, что при шифровании данных закрытый ключ не покидает токена. В нашем случае эта разница значения не имеет.

Не буду рассматривать установку драйверов USB-ключей. Они, как правило, поставляются выпускающим удостоверяющим центром вместе с самими токенами и установка проблем не вызывает. Еще с токенами обычно поставляется лицензия на КРИПТО-ПРО и утилита КриптоПро CSP. Я использовал последнюю доступную на данный момент версию 3.9.

image

Дальше все просто. Запускаем КриптоПро CSP. Закладка Сервис, кнопка Посмотреть сертификаты в контейнере, нажимаем Обзор для выбора токена с криптохранилищем, и выбираем нужно нам хранилице. Обычно на одном токене одно хранилище.

image

Нажимаем Далее и получаем окошко с информацией по сертификату, к которому привязан ключ. Ждем кнопку Установить и устанавливаем сертификат в хранилище Личное для локального пользователя. Обычно, вместе с утилитой КриптоПро CSP в меню Пуск устанавливается ярлык для оснастки Сертификаты. Запускаем оснастку, убеждаемся, что все правильно сделано и сертификат действительно установился в раздел Личное для текущего пользователя.

Дальше, Кликаем правой кнопкой по установленному сертификату, Все задачи, Экспорт. Обязательно отказываемся экспортировать закрытый ключ и сохраняем сертификат куда-нибудь на локальный компьютер, например, на рабочий стол, в формате файла X.509 (.CER) в кодировке DER. Сохраненный сертификат нам понадобиться дальше для выполнения подписи.

Работа утилиты крайне проста. Выбираем папку в которой находятся PDF-файлы, выбираем папку в которую будут сохранены файлы с подписью (если это одна и так же папка, в дополнительных настройках нужно установить флажок «Перезаписывать файлы с одинаковыми именами») выбираем из контейнера сертификат, который будем использовать для подписи, вводим пин от ключа и, если все указали правильно, через несколько секунд в папке-приемнике появятся подписанные PDF-файлы. Для того, чтоб ЭЦП признавалась юридически, по закону, должна быть установлена еще метка времени, но мне для задачи это не требовалось.

В принципе, все! Если у Вас небольшая организация и пара десятков контрагентов то можно вообще ничего больше не делать и оставить все в ручном режиме. Кроме того, 1С нам пока вообще не была нужна, документы в формате PDF можно создать многими способами, в том числе и из Microsoft Office.

Долго не мог разобраться, почему подпись не проходит и выдает ошибку. Оказалось, что успешной работы утилиты КриптоПро PDF на компьютере должна быть установлен Adobe Acrobat Pro (не Reader, это важно!). Именно с его помощью утилита модифицирует PDF-файлы и добавляет и них подпись.

image

Пример подписанного файла на картинке. Выглядит как обычный PDF, только на закладке Подписи появились данные о подписанте. Из важного, указано кто подписал документы (обычно это ФИО и название организации) и что с момента подписания документ не изменялся. Информацию о том, что сертификат ненадежный можно игнорировать. Это говорит только о том, что компания Adobe и ее продукт Acrobat Reader ничего не знают о Вашем сертификате.

Решение второе, автоматическое

Обработка уже умеет печатать отобранные документы. В последних версиях платформы появился штатный механизм сохранения печатных форм в виде PDF файлов. Осталось совместить эти два механизма и сохранять выбранные пользователем документы в папку на локальном компьютере, а затем запускать командную строку и запускать утилиту КриптоПро PDF для выполнения подписи.

Немного доработали интерфейсную часть. Убрали из обработки работу со справочниками. Оставили в интерфейсе 4 вида документов, которые нужно отправлять. Изменили систему отборов. Создали новый регистр сведений Настройки ЭЦП. В него для каждого пользователя сохраняется информация о том, по какому пути лежит КриптоПро PDF на локальном компьютере, папки для временного хранения файлов, сертификат, которым будет выполнена подпись. Еще просили сохранять пин от ключа, но мы не стали этого делать из соображений безопасности.

Чтоб автоматизация была уж совсем полной, пришлось в 1С оживить модуль электронной почты. Дальше все просто. Раз в месяц оператор выбирает список контрагентов и виды документов, которые должны быть отправлены, проверяет результат отбора, нажимает кнопку Выполнить, вводит пин-код от ключа и ждет… В моем случае формирование пакета документов может длится несколько часов.

Обработка группирует отобранные документы по контрагентам, дальше циклом проходится по каждому контрагенту, выбирает все его документы, сохраняет в виде PDF-файлов на диск, запускает утилиту КриптоПро PDF из командной строки, подписывает сохраненные документы, создает документ Электронное письмо с контактными данными из справочника контрагентов, в качестве вложения прикрепляет подписанные документы из папки на диске, переводит письмо в статус для отправки и переходит к следующему контрагенту. Письма отправляются регламентным заданием раз в 10 минут. Обработку можно оставлять на ночь. Возникшие проблему будут корректно обработаны, а утром пользователь увидит журнал шибок и журнал отправленных писем.

Для удобства приведу кусочек кода, который выполняет саму процедуру подписания. Все параметры берутся из созданного регистра сведений.

В конфигурации 1С:Документооборот настройка визуализации электронной подписи хранится в персональных настройках пользователя в разделе НСИ и администрирование - Сервис - Персональные настройки - Настройки ЭП и шифрование


В типовом функционале в 1С:Документооборот есть возможность настраивать размещение электронной подписи на странице:
- В левом верхнем углу
- В левом нижнем углу
- В правом верхнем углу
- В правом нижнем углу


Чаще всего штамп электронной подписи может перекрывать текст документа.

Но начиная с версии 2.1.13 можно внедрить штамп в любое место автозаполняемого документа.

Для этого в файле, прикрепленном к шаблону документа нужно вставить Текстовое поле (см.рисунок) с тегом ВставитьЭП. Втавить текстовое поле можно включив в параметрах MS Word режим Разработчик (меню Разработчик - Элементы управления - Формы предыдущих версий - Поле)


При создании документа по шаблону с автозаполняемым файлом или при добавлении файла из шаблона


В результате в указанном месте (например, в конце документа) будет размещен штамп со всем электронными подписями, которыми подписан файл.


Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(1) Спасибо за Вашу поправку. Да. Действительно так. Можно вставить текст. Здесь я использовала параметр по аналогии с автозаполняемыми шаблонами, так как для автозаполняемых файлов параметр работает корректнее. Уже нет такого с Документооборот 8 ПРОФ, редакция 2.1 (2.1.28.14) на какой версии проверяли это? у Документооборот 8 ПРОФ, редакция 2.1 (2.1.16.1) так же этого нет

(3)
(4)
Добрый день
1. В Документооборот 8 КОРП, редакция 2.1 (2.1.27.1) данная функция работает для файла, размещенного в шаблоне документа.
После подписания документа сЭП, штамп вставляется в файл.

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

2. В версии 2.1.27.1 не получилось разместить штамп в файле, созданном по шаблону.

Документооборот государственного учреждения, редакция 2.1 (2.1.16.1) есть функция Штампа ЭП. Сделал все как Вы описали. штампа нет в документе

Просмотры 6273

Загрузки 0

Рейтинг 11

Создание 09.04.20 12:43

Обновление 09.04.20 12:43

№ Публикации 1221956

Тип файла Нет файла

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Да


См. также

Как настроить правильную техподдержку (helpdesk, service desk на коленке) Промо

Эта статья будет полезна для компаний, которые оказывают техническую поддержку своим пользователям - внешним или внутренним клиентам. В статье я расскажу, как оказываем поддержку мы, как выстроили этот бизнес-процесс, что контролируем и на что обращаем внимание в работе. Вы можете использовать наш опыт при построении собственной системы поддержки или обратиться к нам за помощью за построением такой системы, будем рады помочь. В статье формируется основной набор правил, которые мы сформировали при настройке системы для себя, а так же небольшие примеры того, как мы эти правила применяем.

24.04.2019 29661 siddy 0

Как вносить изменения в новое ЭДО от 1С в БП 3? Июнь 2021, БП 3.0.93.20

Обновились на 3.0.93.20, и все мои расширения под ЭДО перестали работать. Разберем, где вообще искать код, который выводит данные электронного документа в XML, где вмешиваться в ход этого вывода?

03.06.2021 6579 fixin 26

Исправление вывода списка процессов в 1С:Документооборот с группировкой

24.05.2021 1437 Xleo777 5

Диадок, модуль 1С - заполнение полей с дополнительной информацией

Некоторые контрагенты для настройки электронного обмена документами требуют заполнения специальных полей ИнфПолФХЖ1 и ИнфПолФХЖ2 дополнительной информацией.

21.05.2021 2730 _Vovik 9

Права доступа в 1С:Документооборот 2.1 Промо

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016 88431 vlush78 0

13.05.2021 2638 Flover 0

Иной подход к схемам комплексных процессов (возможность пользователям в удобном формате видеть участников процесса до его запуска) в 1С: Документооборот

Предлагаю решение, как несложным образом переработать шаблоны комплексных процессов, чтобы пользователи могли видеть исполнителей процесса еще до запуска, а ответственные за ввод шаблонов упростили себе задачу при работе со сложными маршрутами.

30.03.2021 2416 Capitullo 2

Перенос присоединенных файлов в документооборот при бесшовной интеграции

Сейчас присоединенные файлы, добавленные к документу, перенести в связанный документ документооборота можно только вручную. В статье приведен программный код для решения этой задачи в ERP.

26.02.2021 1489 ВикторП 21

Интеграция «1С:Управление производственным предприятием» с «1С:Документооборот» Промо

В данной статье пойдет речь о возможности интеграции 1С:Управление производственным предприятием ред. 1.3 с 1С:Документооборот КОРП и о том, что может получить предприятие от этой интеграции.

18.02.2013 66097 Vladimir_Konyrev 38

Доступность процессов и задач по предмету всем участникам рабочей группы документа

Простой способ сделать задачи и процессы доступными всем участникам рабочей группы документа. Для этого нужно добавить дополнительный обработчик бизнес-события, который будет срабатывать по виду события "Старт процесса". Актуально, если используете комплексные процессы, и не все участники видят задачи друг друга.

15.02.2021 696 Capitullo 4

Новое в 1С:Документооборот 3.0

Под новый год фирма 1С сделала нам всем подарок – вышла ознакомительная версия долгожданного 1С:Документооборот 3.0! По традиции новая версия кардинально отличается от предшественника как в плане интерфейса, так и по “начинке”. В данной статье рассмотрим самые интересные нововведения. Приступим к обзору.

11.02.2021 4838 Koder_Line 5

Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО

Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.

10.11.2020 7483 maks_20 30

Запрет повторного запуска комплексных процессов типовыми средствами в 1С: Документооборот

Реализация решения изложенного в статье, исключает ошибочный (повторный) запуск комплексного процесса в 1С: Документооборот.

09.11.2020 2023 sulig 5

Блокировка повторного запуска комплексного процесса по документу в 1С: Документооборот

Доработка в 1С: Документооборот позволяет заблокировать повторный запуск комплексного процесса по шаблону для данного документа, если процесс по этому шаблону уже запущен.

02.11.2020 1348 vlad356987 14

Ограничение выбора вариантов шаблонов запуска процессов в Документообороте 2.1

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

20.07.2020 2750 Maito 8

Проблемы организаций при подготовке к внедрению документооборота

Что необходимо сделать для реализации проекта по внедрению «1С:Документооборота?»Как мы говорили в предыдущей статье необходимо осознать проблему, провести классификацию проблем, определить риски и обосновать необходимость внедрения документооборота.

18.06.2020 3269 Marta_Snytkina 4

Делегирование в 1С:Документооборот

Важной составляющей при настройке прав доступа пользователей в электронный документооборот «1С:Предприятия» является механизм делегирования прав. Он применяется в случае временного отсутствия одного сотрудника (отпуск, больничный и пр.) и необходимости перенаправлять обязанности и ответственность за своевременное выполнение задач на другого сотрудника. При процессе делегирования возможна передача нескольких или всех прав.

25.02.2020 7469 Koder_Line 4

Отправка "Заявления на подключение к ЭДО ПФР" из программы "1С: Бухгалтерия предприятия, ред. 2" для СЗВ-ТД

Инструкция по отправке "Заявления на подключение к ЭДО ПФР" из программы "1С Бухгалтерия предприятия, ред. 2" для обмена сведениями об электронных трудовых книжках и отправки отчетов по форме СЗВ-ТД.

11.02.2020 29835 rusmil 9

Детектор завершения согласования для 1С: Документооборот КОРП

Детектор, обнаруживающий завершение согласования и создающий соответствующее бизнес-событие, на которое можно настроить обработчик или автозапуск процесса.

В конфигурации 1С:Документооборот реализована возможность вставлять штамп электронной подписи в подписанные документы. Однако, в процессе работы может возникнуть необходимость доработать штамп электронной подписи в документе. Как это сделать? Рассказываем.

За вставку подписи в документ отвечают два общих текстовых макета

Первый макет вставляет подпись вместо тега «ВставитьЭП», заданного в документе. Второй макет размещает подпись в соответствии с настройками, заданными в справочнике «Настройки электронной подписи и шифрования». Затем остается выбрать необходимый вариант вставки, например, «Левый нижний угол», или «Правый верхний угол» и т. д.

Рис.1 «ОбщийМакет ВставкаИзображенияВместоТегаВDocx» и «ОбщийМакет вставкаИзображенияЭПСУказаниемПоложенияDocx»

Вставка созданных шаблонов картинки электронной подписи, хранящихся в макете «ШаблонОтметкиЭП»(см. рис. 2), осуществляется с помощью DrawingML. DrawingML — это язык Open XML, предназначенный для определения графических объектов.

Вкратце, в макете нас интересуют 2 параметра cx и cy, которые отвечают за размер изображения. Здесь отмечаем, что значения задаются в EMU (English Metrick Units), которое высчитывается по формуле («РазмерВПикселях»/ 25.4) × 914400.

Рис.2 ОбщийМакет «ШаблонОтметкиЭП»

Далее, в картинку с помощью функции «СоздатьОтметкуЭП()» (см. рис. 3) общего модуля «РаботаСЭП» впечатывается текст с использованием ImageMagick. Настройки использования ImageMagick задаются непосредственно в конфигурации. Сама картинка хранится в формате png и может редактироваться в любом редакторе.

Это нужно, например, для того, чтобы добавить на подпись логотип. Размер текста, содержание, цвет, а также расположение указываются в «СоздатьОтметкуЭП()». Чтобы текст разместился по заданному шаблону, необходимо учитывать, что расположение задается от левого верхнего края.

Рис.3 ОбщийМодуль «РаботаСЭП», функция «СоздатьОтметкуЭП()»

Таким образом, после подписания документа, в зависимости от настроек, в него вставляется штамп электронной подписи.


На помощь нам приходит заполнение файла по шаблону, в который мы поместим особую метку. Но раз мы используем заполнение по шаблону, то правильно будет заполнять автоматически исходящий номер, краткое наименование документа, сведения о подписывающем лице и исполнителе документа. Файл шаблона и алгоритмы заполнения полей MS Word я приложу в архиве вместе с реализацией алгоритмов заполнения.
Алгоритм действий пользователей при подготовке исходящего письма следующий:

  1. Исполнитель создаёт письмо по шаблону, заполняет реквизиты и допечатывает необходимый текст в частично заполненный документ.
  2. Документ проходит процессы согласования, которые приняты в организации для такого вида документов.
  3. Согласованный документ отправляется на регистрацию.
  4. Сотрудник документооборота, снабжённый ЭЦП начальника:
    • проверяет правильность оформления документа;
    • регистрирует документ;
    • заполняет регистрационную информацию в файле;
    • подписывает документ ЭЦП;
    • формирует визуализацию данного документа;
    • отправляет документ по почте (при использовании внутренней почты в исходящем письме необходимо удалить файл, подписанный ЭЦП, т. к. он всё равно не уйдёт).

Изменение конфигурации состоит из добавления одного общего макета, двух общих модулей и доработке формы исходящего документа. Ничего не мешает оформить доработку формы, как расширение, но я и первые доработки проводил непосредственно в конфигурации и эти тоже решил в расширение не выносить.

Небольшая ремарка про метки. Их в общем случае может быть несколько. Называются они «Sign1”, “Sign2” и т. д. Они расставляются в нужных местах документа и красятся белым цветом, чтобы их не было видно. Размер штампа по вертикали составляет 2,7 см, и чтобы текст ниже штампа не поплыл (MS Word не позволяет использовать поля формы в колонтитулах), необходимо создавать запас пространства. В файле примера используется невидимая таблица с фиксированной высотой.

Непосредственно в форме элемента справочника «Исходящие документы» необходимо создать команды «Визулизация ЭЦП» и «Создать файл визуализации», и привязать их к функциональной опции «Использовать электронные подписи». Эти команды нужно разместить в группе «Форма ЭП и Шифрование/ЭП» с настройкой «Только во всех действиях» и в группе “КонтекстноеМенюФайлыГруппаЭП” таблицы значений «Файлы». Чтобы было совсем красиво, можно внести изменения в процедуру «УстановитьДоступностьКоманд».

Пара моментов про создание файлов PDF. Файлы создаются на компьютере пользователя и по этому MS Word 2007+ должен стоять там. Но MS Word умеет сохранять документы в формат PDF только с версии 2010. Для пользователей MS Word 2007 необходимо установить надстройку 2007 Microsoft Office: сохранение в формате PDF или XPS (Майкрософт).


На момент написания этой статьи, алгоритм визуализации электронной подписи не изменился и остаётся актуальным для версий 2.1.15.4 и 2.1.16.1. Кому интересно, прошу под спойлер.

Алгоритм визуализации следующий. В общем макете «ШаблонОтметкиЭП»содержится картинка, в которую с помощью ImageMagick впечатываются данные о серийном номере сертификата, субъекте и сроке действия сертификата.

Тут сразу 2 нюанса хочу отметить:

  1. ImageMagick нужен свежий, который запускается не командой «convert.exe», а «magick.exe convert», причём ошибку о несоответствии версий вы получить только если в персональных настройках работы с файлами вы не меняли имя программы по умолчанию, оставив «convert.exe»;
  2. у сертификатов, выданных на организацию, в качестве имени субъекта (CN, Соммon Name) указывается организация, а вот в полях фамилия (SN), имя и отчество (GN) , как раз то, что нам надо для выполнения п. 5.23 ГОСТа. Если в тексте файла есть метка «ВставитьЭП», то вместо неё вставляется полученная картинка, а если этой метки нет, то картинка вставляется в документ в угол, который указан в настройках.

За вставку отвечает соответственное содержимое двух общих макетов «ВставкаИзображенияВместоТегаВDocx» и «ВставкаИзображенияЭПСУказаниемПоложенияDocx».

Вернёмся ещё к ImageMagick. Координаты текстовых элементов для вставки в шаблон указываются в функции «СоздатьОтметкуЭП()» общего модуля «РаботаСЭП» относительно левого верхнего угла изображения. Там же указывается размер шрифта надписей (последний параметр функции «НаложитьСтроки()» общего модуля «РаботаСКартинками»). Цвет текста можно поменять в параметре -fill функции «НаложитьСтроки()». Также хочу отметить, что геометрические размеры изображения после вставки в MS Word определяются элементами cx и cy, которые выражены в каких-то странных единицах, которые в коде 1С называются EMU (English Metrick Units). Я уже всё посчитал и подогнал, так что если размер шаблона не будет изменён, то всё будет красиво.

Что можно сделать? Предлагаю формировать визуализацию документа в формате Adobe PDF и накладывать на него защиту. Я сразу оговорюсь, мне известно, что если у документа Adobe PDF разрешена печать, то снять с него защиту можно путём печати на виртуальном pdf-принтере, но есть несколько мыслей:

  1. в моём варианте разрешена только черновая печать, так что документы будут различаться;
  2. при некоторых вариантах документооборота, можно запретить печать;
  3. для злоумышленников это дополнительное лишнее действие, которое невозможно совершить по ошибке и оно подтверждает преступный умысел.

Попробуем наложить ограничения на использование файла визуализации. Мы вынуждены разрешить печать документа с визуализацией подписи, так как предполагаем, что документ у корреспондента может рассматриваться руководством в бумажном виде. Воспользуемся для этого бесплатным программным обеспечением PDFTK Free.

Программа (на момент написания статьи версии 2.02) представляет из себя консольную утилиту и графическую оболочку. В описании к данной утилиты сказано, что опытные пользователи (power users) могут использовать консольную утилиту. Мы естественно опытные, какие же ещё.

Среди публикаций на нашем сайте я находил обёртку для консольной утилиты PDFTK на 1С, в виде внешней обработки, там исполняемый файл лежал в макете и выгружался во временную папку для использования. Очень удобно, но запрещено текущим лицензионным соглашением. Может раньше было можно, не знаю.

Так что качаем программу с официального сайта, ставим на компьютер, где осуществляется визуализация подписываемых документов. Если процедура визуализации не сможет найти утилиту pdftk.exe, то файл в формате Adobe PDF будет всё равно создан, но пользователю будет выведено предупреждение о невозможности наложить дополнительную защиту. Путь к утилите зашит прямо в коде, т. к. по умолчанию инсталлятор ставит программу в одну папку: «C:\Program Files (x86)\PDFtk\bin» для 64-х битных систем.

Расширение проверено на конфигурации 1С:Документооборот государственного учреждения 2.1.15.4 и 2.1.16.1. Нет под рукой КОРП версии, но почти уверен, что взлетит.

Учитывая спорность наложения защиты, выкладываю два варианта расширения — с поддержкой pdftk и без. В версии без наложения защиты код просто закомментирован и его можно активировать.

Его тоже можно заставить создавать файлы PDF. Для этого используется параметр командной строки --convert-to. В расширении убираем весь код, от момента получения файла до запуска утилиты pdftk.

Я тестировал, у меня запустилось с такой строкой: C:\Program Files (x86)\LibreOffice\program\soffice.exe --headless --convert-to pdf:writer_pdf_Export " ТУТ_ИМЯ_ИСХОДНОГО_ФАЙЛА " --outdir " ТУТ_ДИРЕКТОРИЯ_ДЛЯ РЕЗУЛЬТАТА "

Как формировать и запускать консольные команды и проверять результат выполнения можно подсмотреть тут же в коде для утилиты PDFTK.

P.S. некоторые идеи, реализованные в расширении предложены пользователем ignor (они отмечены в тексте).

UPD: Механизм визуализации можно использовать совместно с возможностями отправки и приёма файлов с ЭЦП по почте.

UPD 26.01.2021: исправлены некоторые ошибки, проверена работоспособность на версии 2.1.27.1

Читайте также: