Конвертер
Компонент для преобразования данных и файлов из одного формата в другой. Позволяет генерировать 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
Работа с колонтитулами. 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-объекта.

В отличие от формата «Ключ-значение» этот формат может принимать в качестве ключа атрибута значение переменной:
Секция «Результат»
Поле
Описание
Сохранить как
Способ сохранения результата: • Файл в запись — сохраняет файл в поле типа «Файл» указанной записи • URL в переменную — сохраняет ссылку на файл в переменную • Содержимое в переменную — сохраняет результат в переменную для дальнейшего использования
В зависимости от выбранного варианта появляются дополнительные поля:
При выборе «Файл в запись»

Поле
Описание
Каталог
Список доступных каталогов для поиска записи
ID записи
Идентификатор записи, в которую сохраняется файл. Формат: номер или выражение
Поле
Идентификатор поля типа «Файл», в которое сохраняется файл
Имя файла
Название, под которым файл будет сохранён в файловом хранилище. Формат: значение или выражение
Сохранить URL файла в
Имя переменной, в которую будет записана ссылка на файл
При выборе «URL в переменную»

Поле
Описание
Имя файла
Название, под которым файл будет сохранён в файловом хранилище. Формат: значение или выражение
Сохранить URL файла в
Имя переменной, в которую будет записана ссылка на файл
При выборе «Содержимое в переменную»

Поле
Описание
Сохранить содержимое в
Имя переменной, в которую сохраняется результат
Формат результата
В зависимости от выбранного варианта конвертации результат сохраняется в разном формате.
HTML → PDF
Результатом является PDF-файл. В зависимости от выбранного способа сохранения:
Файл в запись — файл сохраняется в указанное поле типа «Файл»
URL в переменную — в переменную сохраняется ссылка на файл
Содержимое в переменную — в переменную сохраняется буфер PDF-файла
DOCX → PDF
Результатом является PDF-файл. Формат результата аналогичен HTML → PDF.
Excel → JSON
Результатом будет объект, где ключи — названия листов Excel, а значения — массивы с данными строк. Каждая строка представлена в виде объекта, где ключи — буквы колонок (A, B, C и т.д.), а значения — содержимое ячеек.
Примечание: если ячейка не заполнена, она отсутствует в объекте строки.
XML → JSON
Результатом будет JSON-объект, построенный из структуры XML-документа.
Пример XML:
Результат конвертации:
Пограничные события

Компонент поддерживает 2 типа пограничных событий:
Ошибка — выход из компонента, если произошла какая-либо ошибка
Таймаут — выход из компонента, спустя заданное ограничение по времени
Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.
Last updated