Настройка формирования pdf с электронной подписью#
Документы в формате .pdf можно подписывать электронной подписью. Электронная подпись — это эквивалент подписи «от руки», она обладает такой же юридической силой.
Документ подписывается отсоединенной электронной подписью.
В документ, который подписывается, добавляется штамп подписи. Такой штамп нельзя проверить на соответствие сертификату электронной подписи, он носит сугубо информативный характер. Пример документа со штампом подписи:
Шаги, которые нужно сделать, чтобы в pdf-документах добавлялся штамп электронной подписи:
Настроить шаблон генерации штампа#
Шаблон генерации штампа — это zip-архив, в котором лежат файлы для генерации штампа. В корне архива обязательно должен лежать файл описания штампа с названием template.xml.
Структура файла описания шаблона:
<?xml version="1.0" encoding="utf-8"?>
<root>
<opacity>…</opacity>
<default><sourceSize><width></width><height></height></sourceSize><targetSize><width></width><height></height></targetSize></default>
<objects>
…
</objects>
</root>
где,
<opacity>
– прозрачность шаблона, задается в диапазоне 0..255, где 0 – полностью прозрачный шаблон, 255 – полностью непрозрачный.
<default/sourceSize/width>, <default/sourceSize/height>
– определяет ширину и высоту изображения штампа по умолчанию. Если при генерации изображения штампа не будет передана ширина и высота, то изображение должно принять тогда размер по умолчанию.
<default/targetSize/width>, <default/targetSize/height>
– определяет ширину и высоту изображения штампа в случае, если размеры контейнера, в который вставляется штамп не заданы. На формирование непосредственно изображения штампа эти настройки не влияют, они являются некой дополнительной информацией, представляющей из себя размеры области, которую должен занять штамп, если таковые не определены явно.
<objects>
– содержит список объектов для отрисовки при генерации;
<image>
– изображение;
<frame>
– рамка;
<label>
– текст.
Теги, которые используются в объектах любого типа.
<pos>x1, y1, x2, y2</pos> – координаты прямоугольника, в который необходимо вписать объект.
Объект создаёт статичное изображение из файла на штамп. Изображение растягивается до границ прямоугольника, в который он должен быть вписан.
Подсказка
Координаты могут быть заданы как в абсолютном значении, так и в относительном. Для того, чтобы указать относительное значение, необходимо добавить знак «%» после значения.
Пример:
<pos>10, 10, -10, -10</pos>
<pos>5%, 10, -5%, -10</pos>
<path>путь к файлу</path> – путь к файлу изображения.
Подсказка
В случае, если файл лежит в корне архива шаблона, он представляет собой просто название файла.
Пример:
<image>
<path>myimage.jpg</path>
<pos>5,4,45,32</pos>
</image>
Объект создаёт прямоугольную рамку по границам прямоугольника, в который он вписан.
<thickness>
– толщина границ рамки;
<forecolor>
– цвет границ рамки (пример: black, red, yellow);
<radius>
– радиус закругления углов рамки. Если не задано – рамка не имеет закруглений углов.
Подсказка
Пример:
<frame>
<pos>1,1,-1,-1</pos>
<thickness>4</thickness>
<forecolor>black</forecolor>
<radius>10</radius>
</frame>
Объект создает надпись, которая вписывается в указанный прямоугольник.
<text>примертекста</text>
– текст для отрисовки;
<font>arial</font>
– название шрифта, которым создаётся текст;
<fontsize>10</fontsize>
– размер шрифта, которым создаётся текст;
<align>center</align>
– выравнивание текста (left/center/right);
<id>myid</id>
– используется вместо <text>, создает метку, которая будет заменена при генерации подставляемым значением.
Подсказка
Пример:
<label>
<text>ДОКУМЕНТ ПОДПИСАН ЭЛЕКТРОННОЙ ПОДПИСЬЮ</text>
<pos>67, 6, 200, 26</pos>
<font>verdana</font>
<fontsize>6</fontsize>
<align>center</align>
</label>
<label>
<id>SN</id>
<pos>66, 38, 200, 45</pos>
<font>arial</font>
<fontsize>5</fontsize>
<align>left</align>
</label>
Загрузить шаблон штампа#
Штамп подписи содержит в себе изображение герба муниципального образования. Для каждого проекта устанавливается свой штамп подписи. Чтобы загрузить штамп:
Выберите проект в Конфигураторе.
Перейдите в раздел «Штамп подписи» и нажмите .
Выберите zip-архив, содержащий xml-файл шаблона генерации штампа и изображение штампа.
Если штамп подписи не загружен, то в документе PDF на его месте останется метка, установленная по умолчанию в шаблоне отчета. Метка белого цвета и невидима для пользователя.
Добавить штамп в шаблон отчета#
Добавьте в шаблон отчета место для размещения штампа. Это можно сделать в Редакторе отчетов.
Для добавленного штампа ЭП нужно указать размеры 120х310, иначе в документе .pdf штамп не отобразится. Размеры штампа указываются в файле /opt/IAS/AppServer/appdata/plugins/Agreement/AgreementSettings.xml в блоке:
<Stamp>
<Height>120</Height>
<Width>310</Width>
<StampsLastPage>false</StampsLastPage>
</Stamp>
где:
<Height>120</Height>
- высота штампа<Width>310</Width>
- ширина штампа<StampsLastPage>...</StampsLastPage>
- тег для отображения штампа на последней странице документа.
- при значении true - штамп ЭП всегда будет отображаться на последней странице документа;- при значении false - штампа ЭП на последней странице не будет при условии, что в документе есть метка 120х310. Если метки 120х310 на последней странице отчета нет, то штамп ЭП будет проставлен в документе .pdf.
Конфигурация согласования
В файле AgreementSettings.xml, кроме добавления штампа в шаблон отчета, можно настроить автоматическое заполнение полей после согласования.
Для автоматического заполнения полей [Статус документа] и [Дата] (Дата подготовки ГПЗУ) в карточках Документа или Уведомления после согласования необходимо задать настройки в файле …/IAS/AppServer/appdata/plugins/Agreement/AgreementSettings.xml в блоке:
<DocumentsForAutofill>
<DocumentInitiator> -- блок для документа\уведомления, в рамках одного <DocumentsForAutofill> можно создавть множество <DocumentInitiator>
<AliasDocument>DocGPZU</AliasDocument> -- алиас документа\уведомления. Например: DocGPZU, DocRS,DocNotificationConstructionIsNotAllowed, DocRejection.
<AliasFieldDate>DateMakeGpzu</AliasFieldDate> -- алиас поля <Дата>(Дата подготовки ГПЗУ). Например: DateDoc, DateMakeGpzu, DateReg, DateRejection.
<AliasFieldStatus>StateDoc</AliasFieldStatus> -- алиас поля <Статус документа>. Например: StateDoc.
<AliasDictionaryStatus>DocRefStateDoc</AliasDictionaryStatus> -- алиас справочника <Статус документа>. Например: DocRefStateDoc.
<AliasValuesDictionaryStatus>approved</AliasValuesDictionaryStatus> --алиас справочного значения. Например: approved (Действующий)
<AliasValuesDictionaryStatusOnAgreementStart>onApproval</AliasValuesDictionaryStatusOnAgreementStart> -- алиас справочного значения, для которого нужно, чтобы работал перевод статуса при старте согласования
</DocumentInitiator>
</DocumentInitiator>
Где <AliasValuesDictionaryStatusOnAgreementStart>onApproval</AliasValuesDictionaryStatusOnAgreementStart>
является необязательным тэгом. По умолчанию уже прописан для таких типов документов как:
Проект планировки территории (DocPPT)
Проект межевания территории (DocPMT)
Правила землепользования и застройки (DocPZZ)
Разрешение на отклонение от предельных параметров разрешенного строительства (DocOtclon)
Разрешение на условно разрешенный вид использования (DocUsRazresh)
Алиасы полей и объектов можно посмотреть в редакторе метаданных.
Удалить шаблон штампа#
Чтобы удалить шаблон штампа:
Выберите проект в Конфигураторе.
Перейдите в раздел «Штамп подписи».
Нажмите кнопку .
Как настроить автоматическое преобразование документов в pdf#
Документы могут приходить на согласование в формате docx, odt. Чтобы они автоматически конвертировались в формат pdf:
Выберите проект в Конфигураторе;
Перейдите в раздел «Согласование»;
Установите флажок «Автоматически конвертировать в PDF» и нажмите Cохранить.
У пользователя в окне настройке согласования есть кнопка Преобразовать docx, odt в pdf, которая позволяет ему конвертировать документ в pdf. Такая кнопка отображается в случае, если флажок в Конфигураторе не стоит.
Как настроить возможность выбора нескольких подписантов#
Для согласования документов в качестве подписантов могут быть выбраны несколько субъектов. Чтобы добавить данную возможность:
Обновите метаданные с подключенной подсистемой: metadata\src\Подсистемы\Agreement (множественное подписание).
Выберите проект в Конфигураторе;
Перейдите в раздел «Согласование»;
Установите флажок «Разрешить более одного подписанта» и нажмите Cохранить.