.net - OpenOffice 和 .NET

标签 .net openoffice.org

OpenOffice 是否有 .NET API?

编辑:是否有适用于 .NET 的 OpenOffice SDK?

最佳答案

如果您安装了 OpenOffice,那么您可以使用“OpenOffice SDK”(current version here)从多个编程环境(包括 .NET)控制该实例。您可以通过这种方式使用 OpenOffice 来完成许多不同的事情;一个示例是将文件从一种文件格式转换为另一种文件格式。这类似于您如何通过 COM 控制 Microsoft Office。

SDK 附带一组 CLI/.NET 绑定(bind),默认安装在(SDK v3.0 的示例)中:

C:\Program Files\OpenOffice.org_3.0_SDK\sdk\cli



我找到了 Mark Alexander Bain 的 Creating an OpenOffice Calc Document with C#成为以这种方式控制 OpenOffice 的最直接、实用的介绍性文章。

CLI 绑定(bind)主要是非 .NET 对象模型的端口/映射,因此您需要了解诸如非特定于 .NET 的 OpenOffice API Developer's Guide 之类的东西。 .

到目前为止,我发现 CLI 绑定(bind)和其他文档之间的主要区别在于,通过 CLI 绑定(bind),您可以使用普通的 .NET 转换语法而不是使用 UnoRuntime.queryInterface() 方法将对象转换为新接口(interface)。例如,而不是
XComponentLoader xComponentLoader =
    (XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop);

只需使用
XComponentLoader xComponentLoader = (XComponentLoader)desktop;

这里还有一些关于 OpenOffice/UNO 东西如何映射到 CLI 绑定(bind)中的 .NET 概念的漂亮技术文档:http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/CLI/CLI_Language_Binding

关于.net - OpenOffice 和 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/390006/

相关文章:

c# - 如何将 session 值传递到下一页?

java - 如何使用 JOD Converter 打印到 PDF 来减少 Open Office Service 的响应时间?

php - 如何使用 OpenOffice 从我的 PHP 网页将 RTF 转换为 PDF?

.net - 在mysql中获取索引还是使用配对列表?

C# 在 List<T> Count 上等待

java - jodconverter 找不到 officeHome,在 centOS 5 中使用 docsplit

php - 使用php将mysql数据导出到ODF

c++ - 从 C/C++ 程序调用 OpenOffice 拼写/语法检查

c# - 堆栈跟踪中的错误行号

c# - 让 ViewModel 对象持有 Dispatcher 是否被认为是不好的做法?