void SetProperty(sParam, sValue);
Задает классу билдера аргумент в формате UTF8, который может быть передан в программу вне метода CDocBuilder.ExecuteCommand, т.е. либо как дополнительное свойство при запуске исполняемого файла Document Builder, либо как часть кода программы, но не в составе скрипта файла документа.
Обратите внимание, что для файла .docbuilder метод CDocBuilder.SetProperty явно не используется. Вместо этого сам аргумент используется как дополнительное свойство для исполняемого файла. См. пример ниже.
Параметры:
Название | Тип | Описание |
sParam | const char* | TИмя параметра в формате UTF8, значение всегда —argument. |
sValue | const char* | Значение параметра в формате UTF8, которое будет использоваться в документе. |
Поддерживаемые свойства:
Название | Тип | Описание | По умолчанию |
—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.SetProperty("--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.SetProperty("--check-fonts", L"true");
CDocBuilder::Dispose();
.docbuilder
docbuilder.exe "--check-fonts=true" test.docbuilder