Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Статья описывает настройку штампов, которые наносятся на PDF-документы действием «Добавить штамп»: профили и элементы профилей, расчёт размеров и положения, а также сервис QR-кода проверки актуальности документа. Штампы формирует модуль Stamp портала; движок рабочих процессов вызывает его через API, но модуль используется и другими функциями портала.

Table of Contents
maxLevel2

Из чего состоит штамп

ОбъектГде настраиваетсяЧто определяет
Действие «Добавить штамп»Правило автоматизации (Канбан-доска типа файла или процесса)Когда и на какие документы наносить штамп; размер, точку привязки, координаты и страницу; ссылку на профиль.
Профиль штампаСписок «Профили штампов» (Центр администрирования)Оформление: шрифт, рамку. Объединяет элементы профиля.
Элементы профиляСписок «Элементы профиля штампа»
Status
colourYellow
titleУточнить
Содержимое: строки текста, изображения, QR-код, фрагмент отчёта Telerik; их раскладку по строкам и колонкам.

Профиль штампа

АтрибутОбязательныйОписание
НазваниеДаНазвание профиля; выбирается в действии «Добавить штамп».
ШрифтДаФайл шрифта (TTF/OTF), которым выводится текст штампа. Используется кодировка Identity-H, поэтому шрифт должен содержать кириллицу.
Толщина рамкиНетТолщина внешней рамки штампа в pt. 0 или пусто — без рамки.
Цвет рамкиНетЦвет рамки в формате R,G,B (или R;G;B), значения 0–255. По умолчанию — чёрный.
Размер штампа, Расположение от, Расположение штампа, Номер страницыДля профилей этаповЗаполняются, если профиль назначается этапу процесса и используется действием «Добавить штамп» с профилем из этапа: в этом режиме геометрия берётся из профиля. Смысл атрибутов — как в действии (см. ниже).

Элементы профиля

Общие атрибуты

АтрибутОписание
Профиль штампаПрофиль, к которому относится элемент.
ПорядокПорядок вывода элементов (сверху вниз, слева направо).
Номер группыЭлементы с одинаковым номером группы (> 0) выводятся в одной строке штампа как колонки равной ширины. Если номер группы пуст или 0, элемент занимает отдельную строку.
ФормулаФормула, вычисляемая в контексте документа, на который наносится штамп (для строк — текст, для изображений — файл, для QR-кода — кодируемый текст).

Типы элементов

Тип элементаАтрибутыПоведение
Строка
  • Формула — текст строки;
  • Размер шрифта — pt (обязательно);
  • Цвет шрифта — R,G,B (обязательно);
  • Выравнивание — по умолчанию по центру.
Выводит текст; по вертикали — по центру ячейки. Длинный текст переносится, увеличивая высоту штампа.
Изображение
  • Формула — файл изображения (элемент, значение подстановки или GUID файла);
  • Размер изображения — ширина;высота в pt, область вписывания;
  • Выравнивание — по горизонтали, по умолчанию по центру.
Поддерживаются растровые форматы и SVG. Изображение вписывается в «Размер изображения» с сохранением пропорций. Если файл не найден, ячейка остаётся пустой (ошибка пишется в журнал, штамп наносится).
QR-код
  • Формула — кодируемый текст (например, ссылка на карточку документа).
QR-код растягивается на весь размер штампа (ширина × высота из действия). Используйте отдельный профиль с единственным элементом QR и квадратным размером.
Шаблон Telerik
  • Шаблон штампа — файл отчёта .trdp.
Отчёт формируется в PDF с параметром id (идентификатор документа); первая страница отчёта вставляется в штамп как изображение. Размер штампа принимается равным размеру страницы отчёта. Строка подключения источников данных подставляется системой (в шаблоне она должна быть пустой).

Раскладка элементов

Code Block
languagetext
titleПример раскладки
Профиль: ширина штампа = 150 pt (из «Размера штампа» действия)

 Элемент (Порядок / Номер группы)          Результат
 ─────────────────────────────────         ┌──────────────────────────────┐
 Строка «В производство работ» (10 / 1)    │     В ПРОИЗВОДСТВО РАБОТ     │  строка 1: 1 колонка × 150
 Строка «Дата»                 (20 / 2)    ├──────────────┬───────────────┤
 Строка Format(Date())         (30 / 2)    │ Дата         │ 01.09.2026    │  строка 2: 2 колонки × 75
 Изображение подписи           (40 / 0)    ├──────────────┴───────────────┤
                                           │        [подпись.png]         │  строка 3 (группа = Порядок 40)
                                           └──────────────────────────────┘
 Высота штампа = фактическая высота всех строк
  • Элементы сортируются по «Порядку» и группируются в строки по «Номеру группы» (для элементов без группы группой служит их «Порядок»).
  • Ширина каждой колонки строки = ширина штампа / количество элементов в строке.
  • Высота штампа рассчитывается по фактическому содержимому; высота из «Размера штампа» используется, только если рассчитать её не удалось.

Размещение штампа на листе

Параметры задаются в действии «Добавить штамп» (или в профиле этапа):

...

Tip
titleПодбор координат

Подбор координат удобно выполнять на тестовом документе с отдельным правилом, срабатывающим на тестовый статус. Начните с привязки «Правый нижний угол» и X = ширина штампа + 20.

Пример: штамп «В производство работ»

  1. Создайте профиль «В производство работ»: Шрифт — файл шрифта с кириллицей, Толщина рамки — 1, Цвет рамки — 0,0,255.
  2. Добавьте элементы профиля:
    ТипПорядокНомер группыФормулаОформление
    Строка101"В ПРОИЗВОДСТВО РАБОТ"Размер шрифта 10, цвет 0,0,255
    Строка202"Дата"Размер шрифта 8, выравнивание влево
    Строка302Format("{0:dd.MM.yyyy}", Date())
    Status
    colourGrey
    titleПроверить синтаксис
    Размер шрифта 8
    Изображение40
    Формула, возвращающая файл подписи ГИПаРазмер изображения 60;25
  3. На Канбан-доске типа файла в столбце статуса «Согласовано» создайте правило с действием «Добавить штамп»: Профиль штампа — «В производство работ», Размер штампа — 150;120, Расположение от — «Правый нижний угол», Расположение штампа — 190;245, Номер страницы — пусто (на все листы).
Warning

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

QR-код проверки актуальности документа

Модуль Stamp содержит отдельный сервис QR-кода: на все страницы PDF (в отдельном слое «QR Code») наносится QR-код со ссылкой на страницу проверки, которая по идентификатору и ревизии показывает, актуален ли документ. Сервис вызывается через API POST stamp/api/qrcode/Add/{itemId} (например, из действия «Вызов внешнего сервиса») и настраивается параметрами конфигурации портала:

...

Info

QR-код можно нанести и через профиль штампа с элементом типа «QR-код» — тогда содержимое QR задаётся формулой, а положение — параметрами действия «Добавить штамп».

Диагностика

СимптомВозможная причина
Штамп не появился, ошибок нетФайл не PDF (действие пропускает такие файлы); не выполнены условия правила; правило не сработало на событие.
Ошибка при нанесении штампаНе заполнены «Размер штампа»/«Расположение штампа» или заданы не числами; у элемента «Строка» не заполнены размер или цвет шрифта; не указан шрифт профиля; «Номер страницы» больше числа страниц.
Штамп за пределами листаДля правых углов X меньше ширины штампа; координаты рассчитаны для другого формата листа.
Вместо кириллицы пустые символыВ шрифте профиля нет кириллических глифов.
После штампа сбросился статус документаСработало правило на изменение «Файла» без исключения системного пользователя.
Штамп нанесён дваждыПравило сработало повторно (например, статус устанавливался дважды); добавьте условие.

См. также