Конвертер

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

Свойства

Секция «Источник данных»

Вариант конвертации

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

  • HTML PDF: Генерация PDF буфера, принимает в качестве входных переменных HTML файл из записи, ссылку на файл или произвольную HTML разметку. Вывод компонента может содержать как сам PDF-файл, так и его буфер.

  • Excel JSON: Генерация JSON объекта из Excel-таблицы. JSON будет записан в переменную.

  • XML JSON:

    Генерация JSON объекта из файла с XML-разметкой. JSON будет записан в переменную.

Источник

В качестве источника данных могут быть выбраны следующие:

  • Файл из записи

  • URL к файлу

  • Содержимое

Файл из записи Принимает значение из поля типа «Файл» в записи Бипиума. Указанный файл будет сконвертирован.

  • Каталог Список доступных каталогов для поиска записей. Формат: список каталогов.

  • ID записи Идентификатор записи, в которой находится файл для конвертации.

    Формат: значение/выражение.

  • Поле Идентификатор поля записи, в которой находится файл для конвертации.

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

Содержимое Поле для ввода содержимого к конвертации. В поле может храниться произвольная HTML-разметка (для варианта конвертации HTML -> PDF) или буферные данные, на основе которых будет производиться конвертация.

Формат данных в поле – строка. Данные могут храниться в произвольных кавычках. Для использования переменных сценария в качестве встраиваемых значений используйте одинарные обратные кавычки «`». Пример заполнения поля HTML-разметки представлен ниже:

Секция «Параметры»

Данные можно вводить в формате «Ключ = значение» или в виде JSON-объекта.

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

В зависимости от варианта конвертации, поддерживаются следующие параметры:

HTML → PDF

ПараметрТипОписаниеПо умолчанию

Width

string |

number

Устанавливает ширину бумаги. Передается число или строка с единицей измерения.

Height

string |

number

Устанавливает высоту бумаги. Передается число или строка с единицей измерения.

Format

string

Возможные размеры формата:

- Letter: 8,5 х 11 дюймов

- Legal: 8,5 х 14 дюймов

- Tabloid: 11 дюймов х 17 дюймов

- Ledger: 17 дюймов х 11 дюймов

- A0: 33,1 дюйма х 46,8 дюйма

- A1: 23,4 дюйма х 33,1 дюйма

- A2: 16,54 дюйма х 23,4 дюйма

- A3: 11,7 дюйма х 16,54 дюйма

- A4: 8,27 дюйма х 11,7 дюйма

- A5: 5,83 дюйма х 8,27 дюйма

- A6: 4,13 дюйма х 5,83 дюйма

Если передаются параметры Width и(или) Height вместе с параметром Format, то будет применен размер страницы, указанный в параметре Format.

'A4'

Margin

string | object

Для указания индивидуальных отступов необходимо передать объект со значениями полей. Например:

{

top: '1cm',

left: '2cm',

right: '0.5cm',

bottom: '1cm'

}

'1cm'

Landscape

boolean

Ориентация бумаги. Установите true для альбомной ориентации страницы.

false

printBackground

boolean

Установите false, если не нужно печатать фоновую графику (background).

true

Scale

number

Масштабирует визуализацию веб-страницы. Значение должно быть больше 0.1 и меньше 2.

1

pageRanges

string

Диапазоны бумаги для конвертации. Например, ‘1-5’, ‘8’, ‘11-13’.

Пустая строка - означает, что конвертируются все страницы.

‘ ’

displayHeaderFooter

boolean

Показывать ли верхний и нижний колонтитулы. Установите true для показа колонтитулов.

false

headerTemplate

string

Работа с колонтитулами. Передайте HTML шаблон, со следующими классами, используемыми для ввода в них значений:

- date форматированная дата печати

- title название документа

- url местонахождение документа

- pageNumber текущий номер страницы

- totalPages общее количество страниц в документе

Например, если хотите вывести название документа в колонтитул, необходимо передать html шаблон с классом title: '<p class="title" style="font-size: 7pt; margin-left: 1cm;"></p>'

footerTemplate

string

Работа с колонтитулами. HTML-шаблон для нижнего колонтитула. Использует те же классы, что и headerTemplate.

XML → JSON

ПараметрОписаниеПо умолчанию

attrkey

Префикс, используемый для доступа к атрибутам.

$

charkey

Префикс, используемый для доступа к содержимому символа.

_

trim

Обрезать пробелы в начале и конце текстовых узлов.

false

normalizeTags

Перевести все имена тегов в нижний регистр.

false

normalize

Обрезать пробелы внутри текстовых узлов.

false

explicitRoot

Установите это, если вы хотите получить корневой узел в результирующем объекте.

true

emptyTag

Каково будет значение пустых узлов.

“ ”

explicitArray

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

true

ignoreAttrs

Игнорировать все атрибуты XML и создавать только текстовые узлы.

false

mergeAttrs

Объединить атрибуты и дочерние элементы в качестве свойств родительского объекта вместо того, чтобы отделять атрибуты от объекта дочернего атрибута. Эта опция игнорируется, если ignoreAttrs = true.

false

validator

Вы можете указать вызываемый объект, который каким-то образом проверяет результирующую структуру, как вы хотите.

null

xmlns

Дайте каждому элементу поле, обычно называемое '$ns' (первый символ совпадает с attrkey), которое содержит его локальное имя и URI пространства имен.

false

explicitChildren

Поместить дочерние элементы в отдельное свойство. Не работает с mergeAttrs = true. Если у элемента нет дочерних элементов, то «дочерние элементы» не будут созданы.

false

childkey

Префикс, который используется для доступа к дочерним элементам, если explicitChildren установлено значение true.

$$

preserveChildrenOrder

Изменяет поведение explicitChildren так, что значение дочерних элементов становится упорядоченным массивом. Когда это равно true, каждый узел также получит #nameполе, значение которого будет соответствовать XML nodeName, так что вы можете перебирать массив дочерних элементов и по-прежнему иметь возможность определять имена узлов. Именованные (и потенциально неупорядоченные) свойства также сохраняются в этой конфигурации на том же уровне, что и упорядоченный дочерний массив.

false

charsAsChildren

Определяет, следует ли считать символы дочерними, если explicitChildren включено.

false

includeWhiteChars

Определяет, следует ли включать текстовые узлы, содержащие только пробелы.

false

attrNameProcessors

Позволяет добавлять функции обработки имени атрибута. Принимает Array функции со следующей сигнатурой:

function (name){

//do something with `name`

return name

}

null

attrValueProcessors

Позволяет добавлять функции обработки значений атрибутов. Принимает Array функции со следующей сигнатурой:

function (value, name){

//do something with `name`

return name

}

null

tagNameProcessors

Позволяет добавлять функции обработки имен тегов. Принимает Array функции со следующей сигнатурой:

function (name){

//do something with `name`

return name

}

null

valueProcessors

Позволяет добавлять функции обработки значений элементов. Принимает Array функции со следующей сигнатурой:

function (value, name){

//do something with `name`

return name

}

null

Формат значений

Позволяет выбрать способ передачи параметров конвертации. Возможные значения: Ключ = значение, JSON-объект.

  • Формат «ключ = значение» Параметры передаются в виде Наименование параметра = Значение параметра

  • Формат «JSON — объект» Параметры передаются в виде JSON-объекта.

В отличие от формата «Ключ-значение» этот формат может принимать в качестве ключа атрибута значение переменной:

{
    key1: value1,      // Ключ = значение
    key2: {            // Ключ с вложенным ключом
        key3: value3    
    },
    [key4]: value4     // Переменная в качестве ключа.
}

Секция «Результат»

Формат возврата готового файла.

Сохранить как Позволяет получить результат в одном из 3х вариантов:

  • Файл в запись

Cохраняет результат в поле типа Файл в указанной записи

Каталог Список доступных каталогов для поиска записей. Формат: список каталогов.

ID записи Идентификатор записи, которую надо изменить. Формат: значение/выражение.

Поле Идентификатор поля, в которое надо сохранить файл. Формат: значение/выражение.

Имя файла Имя под которым будет файл будет сохранен в файловом хранилище. Формат: значение/выражение.

Сохранить URL файла в Имя переменной куда будет записана ссылка на файл. Формат: имя переменной.

  • URL в переменную

Имя файла Название под которым будет сохранен файл. Формат: значение/выражение

Сохранить URL файла в Выходной параметр. Переменная, в которую будет сохранен URL файла в файловом хранилище. Формат: имя переменной.

  • Содержимое в переменную

Сохранить содержимое в

Имя переменной куда будет записан результат работы компонента. Например, конвертер Excel->JSON может как записать результат в файл, так и сохранить его в переменную для дальнейшего использования в сценарии.

Для конвертации Excel -> JSON результатом будет объект, ключи которого - наименование листа Excel, значения - массив с полями листа.

{
  Лист1: [
    { 
      A: "ячейка А1", 
      B: "ячейка B1", 
      C: "ячейка C1" 
    },
    { 
      A: "ячейка А2", 
      B: "ячейка B2", 
      C: "ячейка C2"
    },
  ],
  Лист2: [
    { 
      A: "ячейка А1", //ячейка B2 не заполнена
      C: "ячейка C1"
    },
    { 
      A: "ячейка А2", 
      B: "ячейка B2", 
      C: "ячейка C2"
    },
  ],
};

Результат конвертации XML -> JSON.

{
  "CAT": {
    "NAME": "Izzy",
    "BREED": "Siamese",
    "AGE": "6",
    "ALTERED": "yes",
    "DECLAWED": "no",
    "LICENSE": "Izz138bod",
    "OWNER": "Colin Wilcox"
  }
}

Пограничные события

Компонент поддерживает 2 типа пограничных событий:

  • Ошибка — выход из компонента, если произошла какая-либо ошибка

  • Таймаут — выход из компонента, спустя заданное ограничение по времени

Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.

Last updated