Конвертер
Last updated
Last updated
Используется для конвертации данных и файлов. Подразумевается два варианта использования: генерация документа на основе пользовательского шаблона, и преобразование данных из одного типа в другой, варианты конвертации и примеры использования описаны ниже.
Вариант конвертации
Список вариантов для конвертации.
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-объекта.
Секция появляется только в том случае, если выбранный вариант конвертации поддерживает формат работы с параметрами.
В зависимости от варианта конвертации, поддерживаются следующие параметры:
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
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. |
Параметр | Описание | По умолчанию |
---|---|---|
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-объекта.
В отличие от формата «Ключ-значение» этот формат может принимать в качестве ключа атрибута значение переменной:
Формат возврата готового файла.
Сохранить как Позволяет получить результат в одном из 3х вариантов:
Файл в запись
Cохраняет результат в поле типа Файл в указанной записи
Каталог Список доступных каталогов для поиска записей. Формат: список каталогов.
ID записи Идентификатор записи, которую надо изменить. Формат: значение/выражение.
Поле Идентификатор поля, в которое надо сохранить файл. Формат: значение/выражение.
Имя файла Имя под которым будет файл будет сохранен в файловом хранилище. Формат: значение/выражение.
Сохранить URL файла в Имя переменной куда будет записана ссылка на файл. Формат: имя переменной.
URL в переменную
Имя файла Название под которым будет сохранен файл. Формат: значение/выражение
Сохранить URL файла в Выходной параметр. Переменная, в которую будет сохранен URL файла в файловом хранилище. Формат: имя переменной.
Содержимое в переменную
Сохранить содержимое в
Имя переменной куда будет записан результат работы компонента. Например, конвертер Excel->JSON может как записать результат в файл, так и сохранить его в переменную для дальнейшего использования в сценарии.
Для конвертации Excel -> JSON результатом будет объект, ключи которого - наименование листа Excel, значения - массив с полями листа.
Результат конвертации XML -> JSON.
Компонент поддерживает 2 типа пограничных событий:
Ошибка — выход из компонента, если произошла какая-либо ошибка
Таймаут — выход из компонента, спустя заданное ограничение по времени
Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.