Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

При обмене документами между федеральными органами власти или с Аппаратом Правительства Российской Федерации предусмотрено требование к оформлению документов, подписанных электронной подписью, – установка штампа государственного образца (штамп ЭП).

Примечание

Подробнее с требованиями приказа Минкомсвязи России и ФСО России «Об утверждении Требований к организационно-техническому взаимодействию государственных органов посредством обмена документами в электронном виде» можно ознакомиться на сайте Министерства юстиции Российской Федерации.

В системе DIRECTUM реализована возможность формирования и установки штампа ЭП в PDF-документ с помощью функций:

GenerateStateStamp – формирование PNG-изображения штампа государственного образца;
AddImageToPDFDocument – установка штампа на PDF-документ системы DIRECTUM;
AddImageToPDFFile – установка штампа на PDF-документ, расположенный на локальном диске или внешнем носителе.

Функции могут быть вызваны в любом месте системы, где требуется установить штамп на документы. Например, в прикладном сценарии или в типовом маршруте. Подробнее см. описание прикладного блока «Постановка штампа на документы».

Согласно требованиям Министерства связи и массовых коммуникаций Российской Федерации штамп ЭП содержит элементы:

эмблема федерального органа исполнительной власти (при необходимости);
отметка о подписании документа;
сведения о сертификате электронной подписи:
номер сертификата;
Ф.И.О. владельца сертификата;
период действия сертификата;
граница, отделяющая штамп от текста документа.

Штамп государственного образца, формируемый функцией GenerateStateStamp, имеет вид:

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

Функция формирует штамп на основе данных, получаемых из HTML-файла. В файле вручную прописываются настройки штампа.

Стандартная структура HTML-файла:

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.box1 {
  background-color: #ffffff;
  padding: 5px;
  border: 3px solid #d7d7d7;
  border-color: #000000;
}
.tg1{font-weight:bold;font-size:16px;
     font-family:"Times New Roman", Times, serif !important;}
.tg2{font-size:16px;font-family:"Times New Roman", Times, serif !important;}
.tg3{font-weight:bold;font-family:"Times New Roman",
     Times, serif !important;;text-align:center}
 
</style>
</head>
<body>
 
<table class="box1" style="undefined;table-layout: fixed; width: 390px">
<colgroup>
<col style="width: 120px">
<col style="width: 270px">
</colgroup>
<tr>
  <th colspan="2"> <img align = left
    src = "{Путь до изображения, размещаемого на штампе}"/>
    <div class="tg3">ДОКУМЕНТ ПОДПИСАН<br>ЭЛЕКТРОННОЙ ПОДПИСЬЮ</div>
  </th>
</tr>
<tr>
  <td class="tg2">Сертификат</td>
  <td class="tg2">{Номер сертификата}</td>
</tr>
<tr>
  <td class="tg2">Владелец</td>
  <td class="tg1">{Ф.И.О. владельца сертификата}</td>
</tr>
<tr>
  <td class="tg2">Действителен</td>
  <td class="tg2">{Период действия сертификата}</td>
</tr>
</table>
</body>
</html>

По данным стандартного HTML-файла будет создано изображение штампа вида:

Ограничения функции GeneratePNGImageFromHTML:

не поддерживается CSS3 и HTML5;
размер сформированного изображения штампа не может превышать размер экрана;
при автоматическом определении границ изображения штампа (если параметр AutoSize равен True) время работы функции увеличивается. Рекомендуется в параметре AutoSize задавать значение False и в параметрах Left, Top, Right, Bottom указывать фиксированные границы.

Примечание

Все функции группы «Штампы на документы» поддерживают только PNG-формат изображений.

Пример формирования штампа

Постановка задачи

В каждой версии документа с ИД=124727 необходимо проверить наличие электронной подписи. Если версия подписана, для каждой подписи формируется штамп по формату Министерства связи и массовых коммуникаций Российской Федерации.

Программный код

 

// Ввести ИД документа.

DocID = 124727

// Указать путь до папки, в которую будут размещены PNG-изображения штампов

// в формате Министерства связи и массовых коммуникаций Российской Федерации.

FolderPath = 'C:\Stamp\'

// Указать путь до папки с PNG-изображением эмблемы штампа.

GerbPath = 'C:\Stamp\Gerb.png'

 

EDocument = EDocuments.GetObjectByID(DocID)

foreach DocVersion in EDocument.Versions

  if DocVersion.Signed

    foreach Sign in DocVersion.Signatures

      Certificate = Sign.Certificate

      StampPath = Format('%s%s%s'; ArrayOf(FolderPath;

         Certificate.SubjectName ; ".png"))

      ValidDate = Format('c %s по %s';

         ArrayOf(Certificate.ValidFromDate; Certificate.ValidToDate))

      GenerateStateStamp(GerbPath; Certificate.SerialNumber;

         Certificate.SubjectName; ValidDate; StampPath)

    endforeach

  endif

 

endforeach

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

Постановка задачи

Преобразовать первичный учетный документ из локальной папки в PDF с помощью COM-объекта NpoComputer.Dpad.Converter.ComInterop. На документ установить штамп.

Программный код

 

DPADFileName = "C:\Users\Admin\Desktop\Накладная.dpad"

PDFFileName = "C:\Users\OTAdmin\Desktop\Накладная.PDF"

DPAD = CreateObject('NpoComputer.Dpad.Converter.ComInterop')

ErrorString = DPAD.ConvertToPdf(DPADFileName; PDFFileName)

AddImageToPDFFile(PDFFileName;'C:\Users\Admin\Desktop\STP\cv2.png';1500;-1300;3;ArrayOf(3);300)

if Assigned(ErrorString)

  Raise(CreateException('Error'; ErrorString; ecException))

else

  OpenFile(PDFFileName)

Endif

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }