我通过 UNO 成功地与 Open Office 合作。现在我想将 Open Office 库嵌入到我的 Java 应用程序中,可以吗?
2 回答
是的你可以。您需要OpenOffice SDK。
在此处查找示例:(您会看到它谈到了 StarOffice SDK,但它是一样的,记住 StarOffice 只是 OpenOffice.org 的 Sun 品牌版本,添加了商业字体和剪贴画)
如果您只想从 Java 应用程序操作 ODF 文件而不实际加载 openoffice.org,请检查此 lib。
足球俱乐部
我有一个类似的问题。我在Apache OpenOffice Developer's Guide中找到了一些关于使用桌面的文档。关于 StarSuite 示例的兼容性,也许某些 StarSuite 示例是可行的?该指南提到了一个问题,即“StarOffice 5.x 中 OpenOffice.org GUI 的重新设计”。
在使用UNO 开发工具包时,该指南的示例交替使用 StarSuite Basic 和 Java 提供。在开发人员指南的前面还有一个方便的教程。UNO IDL 在编写 UNO 组件一节下介绍。UNO 组件模型可能看起来类似于 OMG CORBA 或 Microsoft 的 COM——我不知道它在 C# 中的接口方式
未能找到问题的确切解决方案,以下代表我的“最佳猜测”至“如何”。
虽然如果要在外部 Java 应用程序中嵌入 OpenOffice 组件,我一直无法找到任何确切的文档项目,但是 - 对于 UNO API 的视图 - 参考使用桌面文章,有一个 UNO 接口,XFrame,介绍。XFrame 接口还发布了一个方法getComponentWindow - 返回一个::com::sun::star::awt::XWindow类型的对象,一个 UNO IDL 接口。当然,在 XWindow 发布的接口方法中,我没有看到任何获取本机窗口对象的方法。当然,会有一个本地窗口对象,在应用程序的某个地方访问。就我个人而言,我并不立即熟悉 OpenOffice 源代码树。
也许这可能是一项更简单的任务,如果将应用程序作为扩展嵌入到 OpenOffice 中,替代将 OpenOffice 嵌入到应用程序中?关于扩展 OpenOffice,在 DZone 上有一个教程,OpenOffice.org 可以扩展多快?此外,“第一次接触”教程提供了一些附加信息,用于扩展 OpenOffice。在后者中,作者使用 Ant 进行构建过程。当然,如果需要,转换为使用 Apache Maven 很容易,例如在类似的方面应用 Maven 的 JAR 构建器。
高温高压