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

void SetProperty(sParam, sValue);

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

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

Параметры:

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

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

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