SetProperty
设置可以在 CDocBuilder.ExecuteCommand 方法之外传递给程序的参数,即作为运行 ONLYOFFICE Document Builder 可执行文件时的附加属性,或作为程序代码的一部分,但不包含在文档文件脚本中。
备注
对于 JS,不直接调用 SetProperty 方法。请通过 CLI 标志传递参数。
语法
- 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);
参数
- Python
- C++
- COM
- Java
- .Net
支持的属性
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| --use-doctrenderer-scheme | bool | false | 指定在构建文档或保存文件时从编辑器获取内容时是否使用 doctrenderer 模式。 |
| --check-fonts | bool | true | 指定是否缓存系统字体以加快工作速度。 |
| --work-directory | string | "" | 临时目录的路径。 |
| --cache-scripts | bool | true | 指定是否缓存 sdkjs 脚本。 |
| --save-use-only-names | bool | false | 指定是否使用目标路径(用于服务器工作)。例如:/home/user/1.txt => /tmp/1.txt。 |
| --all-fonts-path | string | "" | AllFonts.js 脚本的路径。 |
| --argument | string | "" | 发送到所有打开的 JS 上下文的全局参数的 JSON 参数。 |
| --fonts-system | bool | true | 指定是否使用系统字体。 |
| --fonts-dir | string | "" | 附加字体目录的路径(可能有多条记录)。 |
添加后,参数将作为 Argument 变量及其参数值可用:
Argument.name === "ONLYOFFICE" // true
示例
- 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();
添加或移除字体
当您添加新字体或删除旧字体时,还可以更新字体列表。为此,使用 check-fonts 变量:
示例
- 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();