• Post category:Класс CDocBuilder
  • Запись изменена:24.01.2024

void SetProperty(sParam, sValue);

Задает классу билдера аргумент, который может быть передан программе вне метода CDocBuilder.ExecuteCommand, т.е. либо как дополнительное свойство при запуске исполняемого файла Document Builder, либо как часть программного кода, но не включенный в скрипт файла документа.

Обратите внимание, что для файла .docbuilder метод CDocBuilder.SetProperty явно не используется. Вместо этого сам аргумент используется как дополнительное свойство для исполняемого файла. См. пример ниже.

Параметры:

Название Тип Описание
sParam String^ Название параметра, значение всегда —argument.
sValue String^ Значение параметра, которое будет использоваться в документе.

Поддерживаемые свойства:

Название Тип Описание По умолчанию
—use-doctrenderer-scheme логический Указывает, используется ли режим doctrenderer при построении документа или получении содержимого из редактора при сохранении файла. false
—check-fonts логический Указывает, кэшируются ли системные шрифты для ускорения работы. true
—work-directory строковый^ Путь к временному каталогу. «»
—cache-scripts логический Указывает, кэшируются ли скрипты sdkjs. true
—save-use-only-names логический Указывает, используются ли пути назначения (для работы сервера). Например: /home/user/1.txt => /tmp/1.txt false
—all-fonts-path строковый^ Путь к скрипту AllFonts.js. «»
—argument строковый^ JSON-аргумент, который отправляется в глобальные параметры всех открытых JS-контекстов. «»
—fonts-system логический Указывает, используются ли системные шрифты. true
—fonts-dir строковый^ Путь к каталогу дополнительных шрифтов (может быть много записей). «»

После добавления аргумент будет доступен как переменная Argument с установленными значениями параметров:

Argument.name === "Р7" // true

Пример

.Net

string workDirectory = "C:/Program Files/Р7/DocumentBuilder";
CDocBuilder.Initialize(workDirectory);
CDocBuilder oBuilder = new CDocBuilder();
oBuilder.SetProperty("--argument", L"{\"name\":\"Р7\"}");
CDocBuilder.Destroy();

.docbuilder

docbuilder.exe "--argument={\"name\":\"Р7\"}" test.docbuilder

Добавление или удаление шрифтов

Также можно обновлять список шрифтов при добавлении новых или удалении старых шрифтов. Для этого используется переменная check-fonts:

Пример

C++

string workDirectory = "C:/Program Files/Р7/DocumentBuilder";
CDocBuilder.Initialize(workDirectory);
CDocBuilder oBuilder = new CDocBuilder();
oBuilder.SetProperty("--check-fonts", L"true");
CDocBuilder.Destroy();

.docbuilder

docbuilder.exe "--check-fonts=true" test.docbuilder