SetProperty
Sets an argument which can be transferred 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.
note
For JS, the SetProperty method is not called directly. Instead, pass arguments via the CLI flags.
Syntax
- Python
- C++
- COM
- Java
- .Net
def SetProperty(self, name: str, value: str)
void SetProperty(const char* sParam, const char* sValue);
HRESULT SetProperty([in] BSTR name, [in] BSTR value);
void setProperty(String name, String value);
void SetProperty(String^ sParam, String^ sValue);
Parameters
- Python
- C++
- COM
- Java
- .Net
| Name | Type | Description |
|---|---|---|
| name | str | The parameter name (see Supported properties). |
| value | str | The parameter value which will be used in the document. |
| Name | Type | Description |
|---|---|---|
| sParam | const char* | The parameter name (see Supported properties). |
| sValue | const char* | The parameter value which will be used in the document. |
| Name | Type | Description |
|---|---|---|
| name | BSTR | The parameter name (see Supported properties). |
| value | BSTR | The parameter value which will be used in the document. |
| Name | Type | Description |
|---|---|---|
| name | String | The parameter name (see Supported properties). |
| value | String | The parameter value which will be used in the document. |
| Name | Type | Description |
|---|---|---|
| sParam | String^ | The parameter name (see Supported properties). |
| sValue | String^ | The parameter value which will be used in the document. |
Supported properties
| Name | Type | Default | Description |
|---|---|---|---|
| --use-doctrenderer-scheme | bool | false | Specifies if the doctrenderer mode is used when building a document or getting content from the editor when saving a file. |
| --check-fonts | bool | true | Specifies if the system fonts are cached for faster work. |
| --work-directory | string | "" | The path to the temporary directory. |
| --cache-scripts | bool | true | Specifies if the sdkjs scripts are cached. |
| --save-use-only-names | bool | false | Specifies if the destination paths are used (for server work). For example: /home/user/1.txt => /tmp/1.txt. |
| --all-fonts-path | string | "" | The path to the AllFonts.js script. |
| --argument | string | "" | The JSON argument which is sent to the global parameters of all the opened JS context. |
| --fonts-system | bool | true | Specifies if the system fonts are used. |
| --fonts-dir | string | "" | 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
- Python
- C++
- COM
- Java
- .Net
builder = docbuilder.CDocBuilder()
builder.SetProperty("--argument", "{\"name\":\"ONLYOFFICE\"}")
std::wstring sWorkDirectory = NSUtils::GetBuilderDirectory();
CDocBuilder::Initialize(sWorkDirectory.c_str());
CDocBuilder oBuilder;
oBuilder.SetProperty("--argument", "{\"name\":\"ONLYOFFICE\"}");
CDocBuilder::Dispose();
CoInitialize(NULL);
IONLYOFFICEDocBuilder* oBuilder = NULL;
oBuilder->SetProperty("--argument", "{\"name\":\"ONLYOFFICE\"}");
oBuilder->Dispose();
CDocBuilder.initialize("");
CDocBuilder builder = new CDocBuilder();
builder.setProperty("--argument", "{\"name\":\"ONLYOFFICE\"}");
CDocBuilder.dispose();
string workDirectory = "C:/Program Files/ONLYOFFICE/documentBuilder";
CDocBuilder.Initialize(workDirectory);
CDocBuilder oBuilder = new CDocBuilder();
oBuilder.SetProperty("--argument", "{\"name\":\"ONLYOFFICE\"}");
CDocBuilder.Destroy();
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
- Python
- C++
- COM
- Java
- .Net
builder = docbuilder.CDocBuilder()
builder.SetProperty("--check-fonts", "true")
std::wstring sWorkDirectory = NSUtils::GetBuilderDirectory();
CDocBuilder::Initialize(sWorkDirectory.c_str());
CDocBuilder oBuilder;
oBuilder.SetProperty("--check-fonts", "true");
CDocBuilder::Dispose();
CoInitialize(NULL);
IONLYOFFICEDocBuilder* oBuilder = NULL;
oBuilder->SetProperty("--check-fonts", "true");
oBuilder->Dispose();
CDocBuilder.initialize("");
CDocBuilder builder = new CDocBuilder();
builder.setProperty("--check-fonts", "true");
CDocBuilder.dispose();
string workDirectory = "C:/Program Files/ONLYOFFICE/documentBuilder";
CDocBuilder.Initialize(workDirectory);
CDocBuilder oBuilder = new CDocBuilder();
oBuilder.SetProperty("--check-fonts", "true");
CDocBuilder.Destroy();