【问题标题】:are there any ways to embed Open Office into my application?有什么方法可以将 Open Office 嵌入到我的应用程序中?
【发布时间】:2011-01-20 07:35:18
【问题描述】:

我成功地通过 UNO 与 Open Office 合作。现在我想将 Open Office 库嵌入到我的 Java 应用程序中,可以吗?

【问题讨论】:

    标签: java openoffice.org uno


    【解决方案1】:

    是的,你可以。你需要OpenOffice SDK

    查找示例here:(您会看到它谈到了 StarOffice SDK,但它是一样的,记住 StarOffice 只是 OpenOffice.org 的 Sun 品牌版本,添加了商业字体和剪贴画)

    如果您只想从 Java 应用程序操作 ODF 文件而不实际加载 openoffice.org,check this lib

    FC

    【讨论】:

      【解决方案2】:

      我也有类似的问题。我在Apache OpenOffice Developer's Guide 中找到了一些关于Using the Desktop 的文档。关于 StarSuite 示例的兼容性,也许某些 StarSuite 示例是可行的?该指南提到了一个特定的问题,“StarOffice 5.x 中 OpenOffice.org GUI 的重新设计”

      本指南的示例交替使用 StarSuite Basic 和 Java 提供,使用 UNO Development Kit。在开发人员指南的前面还有一个方便的tutorial。 UNO IDL 在Writing UNO Components 部分下介绍。 UNO 组件模型可能看起来类似于 OMG CORBA 或 Microsoft 的 COM——我不知道它在 C# 中是如何接口的

      未能找到问题的确切解决方案,以下代表我的“最佳猜测”至“如何”。

      虽然我无法找到任何确切的文档项目,如果在外部 Java 应用程序中嵌入 OpenOffice 组件,但是 - 对于 UNO API 的视图 - 引用 @ 987654326@文章,介绍了一个UNO接口XFrame。 XFrame 接口发布了一个方法,getComponentWindow 此外 - 返回一个 ::com::sun::star::awt::XWindow 类型的对象,一个 UNO IDL 接口。当然,在 XWindow 发布的接口方法中,我没有看到任何获取本机窗口对象的方法。当然,会有一个本地窗口对象,在应用程序的某个地方访问。就个人而言,我对 OpenOffice 源代码树并不是很熟悉。

      如果将应用程序作为扩展嵌入到 OpenOffice 中,或者将 OpenOffice 嵌入到应用程序中,这可能是一项更简单的任务?关于扩展 OpenOffice,在 DZone 有一个教程,How Fast Can OpenOffice.org Be Extended?此外,如果扩展 OpenOffice,"First contact" tutorial 提供了一些附加信息。在后者中,作者使用 Ant 进行构建过程。当然,如果需要,转换为使用 Apache Maven 很容易,例如在类似方面应用 Maven 的 JAR 构建器。

      HTH

      【讨论】:

        猜你喜欢
        • 2012-02-28
        • 2013-02-25
        • 1970-01-01
        • 1970-01-01
        • 2019-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多