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