Конвертер

Компонент для преобразования данных и файлов из одного формата в другой. Позволяет генерировать PDF из HTML или DOCX, конвертировать Excel в JSON, преобразовывать XML в JSON и выполнять другие операции с файлами.

Когда использовать

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

  • Сгенерировать PDF-счёт из HTML-шаблона

  • Преобразовать загруженный Excel-файл в JSON для анализа

  • Сконвертировать DOCX-договор в PDF для отправки клиенту

Настройка компонента

Секция «Общие свойства»

Поле

Описание

Название

По умолчанию «Конвертер». Можно изменить на своё — например, «Создать PDF из договора»

Описание

Необязательное поле. Можно добавить комментарий для себя или коллег

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

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

Выберите тип преобразования:

Вариант

Описание

HTML → PDF

Генерация PDF из HTML-разметки. Принимает HTML-файл из записи, ссылку на файл или произвольную HTML-разметку

DOCX → PDF

Генерация PDF из DOCX-файла. Принимает файл из записи или ссылку на файл

Excel → JSON

Преобразование Excel-таблицы в JSON-объект. Результат записывается в переменную

XML → JSON

Преобразование XML-разметки в JSON-объект. Результат записывается в переменную

Источник

Способ указания исходных данных:

Способ

Описание

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

Берёт файл из поля типа «Файл» в указанной записи Бипиума. Требует указать каталог, ID записи и поле

URL к файлу

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

Содержимое

Принимает данные напрямую в виде строки (HTML-разметка или буферные данные). Для использования переменных сценария в качестве встраиваемых значений используйте обратные кавычки ` |

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

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

  • 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

Работа с колонтитулами. arrow-up-rightHTML-шаблонarrow-up-right для нижнего колонтитула. Использует те же классы, что и 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-объекта.

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

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

Поле

Описание

Сохранить как

Способ сохранения результата: • Файл в запись — сохраняет файл в поле типа «Файл» указанной записи • URL в переменную — сохраняет ссылку на файл в переменную • Содержимое в переменную — сохраняет результат в переменную для дальнейшего использования

В зависимости от выбранного варианта появляются дополнительные поля:

При выборе «Файл в запись»

Поле

Описание

Каталог

Список доступных каталогов для поиска записи

ID записи

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

Поле

Идентификатор поля типа «Файл», в которое сохраняется файл

Имя файла

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

Сохранить URL файла в

Имя переменной, в которую будет записана ссылка на файл

При выборе «URL в переменную»

Поле

Описание

Имя файла

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

Сохранить URL файла в

Имя переменной, в которую будет записана ссылка на файл

При выборе «Содержимое в переменную»

Сохранение полученных данных в переменную result.

Поле

Описание

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

Имя переменной, в которую сохраняется результат

Формат результата

В зависимости от выбранного варианта конвертации результат сохраняется в разном формате.

HTML → PDF

Результатом является PDF-файл. В зависимости от выбранного способа сохранения:

  • Файл в запись — файл сохраняется в указанное поле типа «Файл»

  • URL в переменную — в переменную сохраняется ссылка на файл

  • Содержимое в переменную — в переменную сохраняется буфер PDF-файла

DOCX → PDF

Результатом является PDF-файл. Формат результата аналогичен HTML → PDF.

Excel → JSON

Результатом будет объект, где ключи — названия листов Excel, а значения — массивы с данными строк. Каждая строка представлена в виде объекта, где ключи — буквы колонок (A, B, C и т.д.), а значения — содержимое ячеек.

Примечание: если ячейка не заполнена, она отсутствует в объекте строки.

XML → JSON

Результатом будет JSON-объект, построенный из структуры XML-документа.

Пример XML:

Результат конвертации:

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

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

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

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

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

Last updated