【发布时间】:2010-09-28 05:57:18
【问题描述】:
是否有用于 OpenOffice 的 .NET API?
编辑:是否有适用于 .NET 的 OpenOffice SDK?
【问题讨论】:
标签: .net openoffice.org
是否有用于 OpenOffice 的 .NET API?
编辑:是否有适用于 .NET 的 OpenOffice SDK?
【问题讨论】:
标签: .net openoffice.org
取决于您的需求。大多数 OpenOffice 文档格式都是 XML 可读和可创建的。
【讨论】:
Novel 有一个添加单声道功能的 OOo 分支,因此您可以通过 .Net 在 OOo 中使用这些构建进行脚本编写。 OOo(Base 除外)的文档格式是 XML + zip 容器中的资源。如果您需要手动文件操作以外的编程访问,最好的办法是使用带有 COM 互操作的 ActiveX 控件。如果你想在 .Net 中使用 Base 作为数据源,那几乎是不可能的,因为它是一个没有成熟 .net 端口的嵌入式 Java 数据库结构。
【讨论】:
"AODL是ODF的.net模块 工具包。图书馆很齐全 用纯 C# 编写,可用于 将基于 .net 的软件扩展到 支持 OpenDocument 格式。到 在您的项目中使用 AODL 分别软件不需要 对 OpenDocument 格式本身。它会 有助于了解正在发生的事情 在幕后和写你的 自己的扩展,但如前所述 在这不是基础之前 要求。”
该模块在 Apache 孵化器过渡期间已被废弃,最近的官方二进制文件或源下载不可用(请参阅newsgroup post 1、newsgroup post 2、newsgroup post 3。
最新的二进制下载是在old ADL SourceForge project page 中提供的 v1.2.0.1,而似乎是最新的源代码导致(也被放弃)fork is available on Bitbucket(源中包含的文档和变更日志树读取 v1.3.0.0) 并且编译得很好。
未来新的 ODFDOM 中可能会有一个官方替代方案,其生成器应该支持 .NET/C#/etc:
ODFDOM 代码生成器用于生成核心类 ODFDOM 是 ODF 元素在真实 Java 上的类型化映射 上课。对于未来,我们还计划生成 ODFDOM,例如C# (.NET ) 用于使用此生成器的其他编程语言。
【讨论】:
如果您安装了 OpenOffice,则可以使用“OpenOffice SDK”(current version here) 从多个编程环境(包括 .NET)控制该实例。您可以通过这种方式使用 OpenOffice 来完成许多不同的事情;一个示例是将文件从一种文件格式转换为另一种文件格式。这类似于通过 COM 控制 Microsoft Office。
SDK 附带了一组 CLI/.NET 绑定,默认安装在(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 绑定主要是非 .NET 对象模型的端口/映射,因此您需要了解非 .NET 特定的 OpenOffice API Developer's Guide。
到目前为止,我发现 CLI 绑定和其他文档之间的主要区别在于,通过 CLI 绑定,您可以使用普通的 .NET 转换语法而不是使用 UnoRuntime.queryInterface() 方法将对象转换为新接口.例如,而不是
XComponentLoader xComponentLoader =
(XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop);
随便用
XComponentLoader xComponentLoader = (XComponentLoader)desktop;
这里还有一些关于 OpenOffice/UNO 内容如何映射到 CLI 绑定中的 .NET 概念的技术文档:http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/CLI/CLI_Language_Binding
【讨论】:
Open Document Format API for .NET Framework
API 支持 OASIS 开放文档格式中定义的开放文档格式标准。 ODF .NET 允许您编写应用程序来创建、修改和解析文本文档和电子表格。支持所有版本的 .NET Framework、.NET Compact Framework 和 Mono。
【讨论】: