SetProperty

void SetProperty(sParam, sValue);

Sets an argument in the UTF8 format to the builder class which can be trasferred to the program outside the CDocBuilder.ExecuteCommand method, i.e. either as an additional property when running ONLYOFFICE Document Builder executable file or as a part of program code, but not included into the document file script.

Please note, that for the .docbuilder file the CDocBuilder.SetProperty method is not used explicitly. The argument itself is used instead as an additional property for the executable. See the example below.

Parameters

NameTypeDescription
sParamconst char*The parameter name in the UTF8 format, the value is always --argument.
sValueconst char*The parameter value in the UTF8 format which will be used in the document.

Supported properties

NameTypeDefaultDescription
--use-doctrenderer-schemeboolfalseSpecifies if the doctrenderer mode is used when building a document or getting content from the editor when saving a file.
--check-fontsbooltrueSpecifies if the system fonts are cached for faster work.
--work-directoryconst wchar_t*""The path to the temporary directory.
--cache-scriptsbooltrueSpecifies if the sdkjs scripts are cached.
--save-use-only-namesboolfalseSpecifies if the destination paths are used (for server work). For example: /home/user/1.txt => /tmp/1.txt
--all-fonts-pathconst wchar_t*""The path to the AllFonts.js script.
--argumentconst wchar_t*""The JSON argument which is sent to the global parameters of all the opened JS context.
--fonts-systembooltrueSpecifies if the system fonts are used.
--fonts-dirconst wchar_t*""The path to the additional fonts directory (may be many records).

Once added, the argument will be available as the Argument variable with its parameter values set:

Argument.name === "ONLYOFFICE" // true

Example

C++

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

.docbuilder

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

Adding or removing fonts

It is also possible to update the font list when you either add new fonts or remove old ones. To do this, the check-fonts variable is used:

Example

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

Get Help

  • If you have any questions about ONLYOFFICE Docs, try the FAQ section first.
  • You can request a feature or report a bug by posting an issue on GitHub.
  • You can also ask our developers on ONLYOFFICE forum (registration required).