如何以编程方式获取 Openoffice writer 中的默认模板

Posted

技术标签:

【中文标题】如何以编程方式获取 Openoffice writer 中的默认模板【英文标题】:Howto programmatically get the default template on Openoffice writer 【发布时间】:2013-04-02 07:38:32 【问题描述】:

如何以编程方式获取 openoffice writer 的默认模板?

openoffice下面的代码相当于什么:

var word = new Microsoft.Office.Interop.Word.Application();
string template = word.NormalTemplate.FullName;

【问题讨论】:

请问您尝试了什么?您使用哪个 DLL 通过 C# 访问 OpenOffice? 【参考方案1】:

我能做到这一点的唯一方法是创建一个新的空白文档,然后阅读用于创建它的模板,尽管我期待在应用程序级别有这样的属性,希望这对其他人有所帮助:

private XComponentContext oStrap = uno.util.Bootstrap.bootstrap();    
XMultiServiceFactory oServMan = (XMultiServiceFactory) oStrap.getServiceManager();
XComponentLoader oDesk = (XComponentLoader) oServMan.createInstance("com.sun.star.frame.Desktop");
string url = @"private:factory/swriter";
PropertyValue[] propVals = new PropertyValue[0];
XComponent oDoc = oDesk.loadComponentFromURL(url, "_null", 0, propVals);
var DefaultTemplate = ((XDocumentPropertiesSupplier)oDoc).getDocumentProperties().TemplateURL;

【讨论】:

以上是关于如何以编程方式获取 Openoffice writer 中的默认模板的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 c# 检查 OpenOffice 是不是以编程方式安装

如何使用 .NET 从 OpenOffice.org Writer 文档中以编程方式提取宏?

OpenOffice 搜索表以编程方式

在 PHP 中以编程方式使用 OpenOffice 更正功能

在 OpenOffice Calc 中以编程方式更改打印区域

LibreOffice/OpenOffice 能否以编程方式向现有的 .docx/.xlsx/.pptx 文件添加密码?