Подготовка ZIP-архива шаблона#

Варианты подготовки ZIP-архива шаблона:

  1. Вручную.

  2. С помощью Template Registry UI. Подробнее о функциональности формирования архива читайте в разделе «Формирование архива» документа «Руководство оператора».

Порядок создания ZIP-архива шаблона:

  1. Подготовить файл разметки шаблона. Это файлы, сформированные по правилам одной из поддерживаемых технологий (далее — движков):

  2. Подготовить конфигурационный файл configuration.json.

    Формат файла конфигурации:

    Название

    Тип

    Формат

    Описание

    Обязательность (да/нет)

    Пример

    templateCode

    string 128

    Список допустимых символов задается настройкой dcgn.template-registry.dcgn.validation.templateCodeRegexp при установке DCGN и может быть изменен. Значение маски, установленное по умолчанию, см. в разделе Конфигурация DCGN документа «Руководстве по установке»

    Код шаблона

    да

    "templateCode": "client-profile"

    description

    string 256

    Описание шаблона

    да

    "description": "Описание"

    selectionStrategy

    string

    - BASED_ON_DATE — выбор документа для генерации происходит по активной версии шаблона на заданную дату (activationDate);
    * BASED_ON_CODE — выбор документа для генерации происходит по коду активной версии шаблона

    Стратегия выбора версии шаблона для генерации документа. Не может быть изменено со временем

    да

    "selectionStrategy": "BASED_ON_DATE"

    activeVersions

    array

    Секция для описания активной версии шаблона

    нет

    "activeVersions": [ { "versionCode": "version_2019", "description": "первая версия", "activationDate": "01.01.2019", "engine": "XDOCREPORT_ODT_TEMPLATE", "defaultFormat": "PDF", "templateFileName": "template_2019.odt" }]

    activeVersions.versionCode

    string 128

    Список допустимых символов задается настройкой dcgn.template-registry.dcgn.validation.versionCodeRegexp при установке DCGN и может быть изменен. Значение маски, установленное по умолчанию, см. в разделе Конфигурация DCGN документа «Руководстве по установке»

    Код версии. Уникальное значение, которое не может быть изменено со временем

    да

    "versionCode": "version_01"

    activeVersions.description

    string 256

    Описание версии

    да

    "description": "первая версия"

    activeVersions.activationDate

    string

    dd.MM.yyyy

    Дата, с которой шаблон считается активным. Заполнение обязательно для типа BASED_ON_DATE

    нет

    "activationDate": "01.01.2019"

    activeVersions.engine

    string

    Возможно указание одного из значений: JASPERREPORTS, FREEMARKER, XDOCREPORT_ODT_TEMPLATE

    Движок шаблона

    да

    "engine": "XDOCREPORT_ODT_TEMPLATE"

    activeVersions.defaultFormat

    string

    Возможно указание одного из значений: PDF, HTML, XLS, XLSX, RTF, CSV, XML, DOCX, ODT, ODS, TXT, PNG_WITH_TRANSPARENT, PNG

    Исходящий формат документа по умолчанию

    да

    "defaultFormat": "PDF"

    activeVersions.templateFileName

    string 256

    ^[a-zA-Z0-9_]+$

    Имя файла шаблона

    нет

    "templateFileName": "template.jrxml"

    activeVersions.resources

    object

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

    нет

    "resources": [ { "name": "logo", "fileName": "resources/logo.png" }]

    activeVersions.resources.name

    string 128

    ^[a-zA-Z0-9_]+$

    Наименование ресурса

    да

    "name": "logo"

    activeVersions.resources.fileName

    string 256

    ^[a-zA-Z0-9_]+$

    Путь до ресурса

    да

    "fileName": "resources/logo.png"

    archiveVersions

    array

    Секция для описания архивной версии шаблона

    нет

    "archiveVersions": [ "version_2018"]

    archiveVersions.versionCode

    string 128

    Список допустимых символов задается настройкой dcgn.template-registry.dcgn.validation.versionCodeRegexp при установке DCGN и может быть изменен. Значение маски, установленное по умолчанию, см. в разделе Конфигурация DCGN документа «Руководстве по установке»

    Код версии. Уникальное в рамках кода шаблона значение, которое не может быть изменено со временем

    да

    "versionCode": "version_02"

    Важно

    Для стратегий BASED_ON_DATE и BASED_ON_CODE допустимо иметь несколько активных версий шаблона.

    Рекомендации выбора типа стратегии:

    • Стратегия BASED_ON_CODE подходит для сценария, где в один момент времени необходимо иметь несколько активных версий шаблона. При генерации документа происходит вызов шаблона по коду шаблона и коду его активной версии.

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

    Пример файла конфигурации (configuration.json)

    {
            "templateCode": "client-profile",
            "description": "Анкета клиента",
            "selectionStrategy": "BASED_ON_DATE",
            "activeVersions": [
                {
                    "versionCode": "version_2019",
                    "description": "первая версия",
                    "activationDate": "01.01.2019",
                    "engine": "XDOCREPORT_ODT_TEMPLATE",
                    "defaultFormat": "PDF",
                    "templateFileName": "template_2019.odt",
                    "resources": [
                        {
                            "name": "foto",
                            "fileName": "foto.png"
                        }
                    ]
                },
                {
                    "versionCode": "version_2020",
                    "description": "вторая версия",
                    "activationDate": "01.01.2020",
                    "engine": "XDOCREPORT_ODT_TEMPLATE",
                    "defaultFormat": "PDF",
                    "templateFileName": "template_2020.odt",
                    "resources": [
                        {
                            "name": "foto",
                            "fileName": "foto.png"
                        }
                    ]
                }
            ],
            "archiveVersions": [
                "version_2018",
                "version_2017"
            ]
    }
    
  3. Подготовить файлы, содержащие ресурс по умолчанию в одном из ниже указанных форматов (в зависимости от выбранного движка шаблона).

    Поддержка форматов ресурсов в разрезе движков шаблонов:

    Движок шаблона

    XDocReport (ODT)

    FreeMarker

    JasperReports

    исходящий формат

    исходящий формат

    исходящий формат

    формат ресурсов

    HTML

    PDF

    ODT

    TXT

    HTML

    HTML

    PDF

    XLS

    XLSX

    RTF

    CSV

    XML

    DOCX

    ODS

    ODT

    TXT

    PNG

    PNG_WITH_TRANSPARENT

    PNG

    PNG

    PNG

    PNG

    ~

    PNG

    PNG

    PNG

    PNG

    PNG

    PNG

    ~

    PNG

    PNG

    PNG

    PNG

    ~

    PNG

    JPG

    JPG

    JPG

    JPG

    ~

    JPG

    JPG

    JPG

    JPG

    JPG

    JPG

    ~

    JPG

    JPG

    JPG

    JPG

    ~

    JPG

    JPG

    GIF

    GIF

    GIF

    GIF

    ~

    GIF

    GIF

    GIF

    GIF

    GIF

    GIF

    ~

    GIF

    GIF

    GIF

    GIF

    ~

    GIF

    GIF

    SVG

    ~

    SVG

    SVG

    ~

    SVG

    SVG

    SVG

    SVG

    SVG

    SVG

    ~

    SVG

    SVG

    SVG

    SVG

    ~

    SVG

    SVG

    TIFF

    ~

    ~

    ~

    ~

    TIFF

    TIFF

    ~

    TIFF

    TIFF

    TIFF

    ~

    TIFF

    TIFF

    TIFF

    TIFF

    ~

    TIFF

    TIFF

    BMP

    BMP

    BMP

    BMP

    ~

    ~

    ~

    BMP

    BMP

    BMP

    BMP

    ~

    BMP

    BMP

    BMP

    BMP

    ~

    BMP

    BMP

    XML

    ~

    ~

    ~

    ~

    ~

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    XML

    JSON

    ~

    ~

    ~

    ~

    ~

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    JSON

    CSV

    ~

    ~

    ~

    ~

    ~

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    CSV

    XLS

    ~

    ~

    ~

    ~

    ~

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLS

    XLSX

    ~

    ~

    ~

    ~

    ~

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

    XLSX

  4. Сформировать ZIP-архив.