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

void SetPropertyW(sParam, sValue);

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

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

Параметры:

Название Тип Описание
sParam const wchar_t* Имя параметра в формате Unicode, значение всегда—argument.
sValue const wchar_t* Значение параметра в формате Unicode, которое будет использоваться в документе.

Supported properties:

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

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

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

Пример

C++

std::wstring sWorkDirectory = NSUtils::GetBuilderDirectory();
CDocBuilder::Initialize(sWorkDirectory.c_str());
CDocBuilder oBuilder;
oBuilder.SetPropertyW("--argument", L"{\"name\":\"Р7\"}");
CDocBuilder::Dispose();

.docbuilder

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

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

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

Пример

C++

std::wstring sWorkDirectory = NSUtils::GetBuilderDirectory();
CDocBuilder::Initialize(sWorkDirectory.c_str());
CDocBuilder oBuilder;
oBuilder.SetPropertyW("--check-fonts", L"true");
CDocBuilder::Dispose();

.docbuilder

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