ExportToDocxCommand

команда; генерирует DOCX-файл из шаблона, в котором вместо переменных подставляются определенные значения

Поддерживаемые переменные

В значениях параметров могут быть использованы тэги для изменения форматирования параметра.

Тэги форматирования

[b][/b]

Задает полужирное начертание отрывка текста.

[i][/i]

Выделяет отрывок текста курсивом.

[u][/u]

Выделяет отрывок текста подчёркиванием.

[br]

Перенос текста на новую строку.

[size={value}][/size]

Задает отрывку текста размер шрифта.

В качестве {value} ожидается целочисленное значение.

Тэги форматирования заданные в тексте шаблона не заменяются.

<#variable#>

Служит для отображения скалярного значения.

<%variable%>

Служит для отображения массива (для использования в таблице).

<~variable~>

Служит для полного переноса содержимого другого документа (подшаблона) в шаблон.

В тексте используемого подшаблона могут использоваться переменные, после вставки текста в шаблон они также будут заменены.

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

Выражение может быть дополнено параметрами: <~variable[?pageBreakBefore][?pageBreakAfter]~>, где:

  • pageBreakBefore - вставить символ переноса на новую страницу перед текстом подшаблона;

  • pageBreakAfter - вставить символ переноса на новую страницу после текста подшаблона.

<@PATH@>

Служит для вставки изображения.

Например, для вставки изображения с параметризованным путем следует указать выражения вида <@<#variable#>@> - для скалярных значений и <@<%variable%>@> - для массивов.

Выражение PATH имеет следующий формат: PATH[?width=INT][?height=INT][?mode=MODE][?rotation=INT], где:

  • PATH - полный путь до файла изображения;

  • width - необязательный параметр ширины изображения; в качестве значения INT ожидается положительное целочисленное значение;

  • height - необязательный параметр высоты изображения; в качестве значения INT ожидается положительное целочисленное значение;

  • mode - необязательный параметр типа размера; в качестве значения MODE ожидается тип размера изображения (по умолчанию "Zoom");

  • rotation - необязательный параметр поворота изображения; в качестве значения INT ожидается целочисленное значение в диапазоне от -360 до 360 градусов.

Типы размера изображения

Zoom

Растягивание изображения до указанной ширины и высоты (в большую или меньшую сторону), сохраняя пропорции изображения

ZoomLess

Растягивание изображения до указанной ширины и высоты (только в меньшую сторону), сохраняя пропорции изображения

Stretch

Растягивание изображения до указанной ширины и высоты без сохранения пропорций изображения

Шаблон ExportToDocxCommand

<Command Name="" Type="ExportToDocxCommand" Assembly="Commands">
  <!--Тэги, общие для всех команд-->
  <Condition Name="" />
  <Lock Value="" />
  <!--Тэги, специфичные для ExportToDocxCommand-->
  <Async Value="" />
  <TemplateFileName></TemplateFileName>
  <Parameters>
    <Parameter Name=""></Parameter>
  </Parameters>
  <Open></Open>
  <Print></Print>
  <PrintCopy></PrintCopy>
  <GroupTags SingleFile=""></GroupTags>
  <ExportFileName Ask=""></ExportFileName>
  <InsertPictures Value="" />
  <UseRawTags Value="" />
</Command>

Описание ExportToDocxCommand

<Command Name="ExportToDocxCommandName" Type="ExportToDocxCommand" Assembly="Commands">
  <!--Тэги, общие для всех команд-->
  <!--Тэги, специфичные для ExportToDocxCommand-->
</Command>

Результат выполнения ExportToDocxCommand

Value

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

Тэги, специфичные для ExportToDocxCommand

Async

Признак, определяющий, будет ли выполнение команды происходить в асинхронном режиме (в фоновом потоке).

Необязательный тэг. Значение тэга <Async>: не ожидается.

Если тэг <Async> отсутствует, то для атрибута Value используется значение False.

<Async Value="False" />

Атрибуты тэга <Async>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

TemplateFileName

Путь до DOCX-файла шаблона.

Обязательный тэг. Любое значение будет переведено в текстовое.

Поддерживаются константы замены.

<TemplateFileName>TemplateFileName.docx</TemplateFileName>

Parameters

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

Необязательный тэг. Значение тэга <Parameters>: список тэгов <Parameter>.

<Parameters>
  <Parameter Name="ParameterName1">ParameterValue1</Parameter>
  <Parameter Name="ParameterName2">ParameterValue2</Parameter>
</Parameters>

Тэг <Parameter>

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

Необязательный тэг. Значение тэга <Parameter>: любое значение.

Атрибуты тэга <Parameter>

Name

Название параметра.

Переменные в шаблоне задаются как <#ParameterName1#> - для отображения скалярного значения или <%ParameterName1%> - для отображения массива при использовании в таблице.

Open

Признак открытия DOCX-файла после формирования.

Необязательный тэг. Ожидается логическое значение.

Если тэг <Open> отсутствует, то используется значение True.

<Open>True</Open>

Print

Признак печати DOCX-файла после формирования.

Необязательный тэг. Ожидается логическое значение.

Если тэг <Print> отсутствует, то используется значение False.

<Print>False</Print>

Количество копий для печати DOCX-файла после формирования.

Необязательный тэг. Ожидается положительное целочисленное значение.

Если тэг <PrintCopy> отсутствует, то используется значение 1.

<PrintCopy>1</PrintCopy>

GroupTags

Группировочные признаки параметров (экспорт в несколько файлов одновременно).

Необязательный тэг. Ожидается линейный массив значений.

Если тэг <GroupTags> отсутствует, то экспорт происходит только в 1 файл.

<GroupTags SingleFile="False"></GroupTags>

Атрибуты тэга <GroupTags>

SingleFile

Признак, определяющий, будут ли экспортируемые файлы объединены в один документ.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут SingleFile отсутствует, то используется значение False.

Пример

Значение тэга <GroupTags> - массив некоторых значений: "Значение A; Значение B; Значение C". Это уже означает, что будет создано 3 DOCX-файла (по количеству значений в массиве <GroupTags>). Нужно только распределить значения параметров по этим файлам. Правила распределения следующие:

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

Например, рассмотрим в качестве значения параметра "Prm1" следующую матрицу:

Значение A

Значение A1

Значение B

Значение B1

Значение B

Значение B2

Значение C

Значение C1

Значение D

Значение D1

В соответствии с этим правилом, для выгружаемого файла, соответствующему группировочному признаку "Значение A", значение параметра "Prm1" будет "Значение A1"; для файла "Значение B" - массив значений "Значение B1; Значение B2"; для файла "Значение C" - "Значение C1". Последняя строка матрицы "Значение D; Значение D1" не будет адресована ни в один файл, т.к. значение в первом столбце не соответствует ни одному из группировочных значений.

2. Если параметр не является матрицей (массив или скалярное значение), то данный параметр будет адресован во все создаваемые файлы без изменений.

ExportFileName

Полный путь до DOCX-файла, в который будут выгружены данные.

Необязательный тэг. Любое значение будет переведено в текстовое.

Если тэг <ExportFileName> отсутствует, то имя файла выбирается произвольно в системной папке Temp.

Поддерживаются константы замены.

<ExportFileName Ask="False">ExportFileName</ExportFileName>

Атрибуты тэга <ExportFileName>

Ask

Признак, определяющий, будет ли задан вопрос о пути экспорта DOCX-файла.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут Ask отсутствует, то используется значение False.

InsertPictures

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

Необязательный тэг. Значение тэга <InsertPictures>: не ожидается.

Если тэг <InsertPictures> отсутствует, то для атрибута Value используется значение True.

Если атрибут Value в тэге <InsertPictures> имеет значение False, то замена в файле шаблона тэгов вставки изображений не произойдет и тэги останутся без изменений.

<InsertPictures Value="" />

Атрибуты тэга <InsertPictures>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

UseRawTags

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

Необязательный тэг. Значение тэга <UseRawTags>: не ожидается.

Если тэг <UseRawTags> отсутствует, то для атрибута Value используется значение False.

Если атрибут Value в тэге <UseRawTags> имеет значение True, то замена в файле шаблона тэгов вставки скалярных и табличных значений и изображений не произойдет и тэги останутся без изменений.

<UseRawTags Value="" />

Атрибуты тэга <UseRawTags>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

Last updated