SetProperty

HRESULT SetProperty([in] BSTR key, [in] BSTR value);

Sets an argument 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
keyBSTRThe parameter name, the value is always --argument.
valueBSTRThe parameter value which will be used in the document.

Supported properties

NameTypeDefaultDescription
--use-doctrenderer-schemeVARIANT_BOOLfalseSpecifies if the doctrenderer mode is used when building a document or getting content from the editor when saving a file.
--check-fontsVARIANT_BOOLtrueSpecifies if the system fonts are cached for faster work.
--work-directoryBSTR""The path to the temporary directory.
--cache-scriptsVARIANT_BOOLtrueSpecifies if the sdkjs scripts are cached.
--save-use-only-namesVARIANT_BOOLfalseSpecifies if the destination paths are used (for server work). For example: /home/user/1.txt => /tmp/1.txt
--all-fonts-pathBSTR""The path to the AllFonts.js script.
--argumentBSTR""The JSON argument which is sent to the global parameters of all the opened JS context.
--fonts-systemVARIANT_BOOLtrueSpecifies if the system fonts are used.
--fonts-dirBSTR""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

COM

CoInitialize(NULL);
IONLYOFFICEDocBuilder* oBuilder = NULL;
oBuilder->Initialize();
oBuilder->SetProperty("--argument", L"{\"name\":\"ONLYOFFICE\"}");
oBuilder->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

COM

CoInitialize(NULL);
IONLYOFFICEDocBuilder* oBuilder = NULL;
oBuilder->Initialize();
oBuilder->SetProperty("--check-fonts", L"true");
oBuilder->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).