有啥方法可以将 Open Office 嵌入到我的应用程序中?

Posted

技术标签:

【中文标题】有啥方法可以将 Open Office 嵌入到我的应用程序中?【英文标题】: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 应用程序中,可以吗?

【问题讨论】:

【参考方案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

【讨论】:

以上是关于有啥方法可以将 Open Office 嵌入到我的应用程序中?的主要内容,如果未能解决你的问题,请参考以下文章

当我将新闻添加到我的 Firebase 时,有啥方法可以自动发送推送通知

有没有人使用过嵌入在 .NET 桌面应用程序中的 Open Office?

有啥方法可以链接到我的应用的 Android 通知设置?

阅读 Excel 文件 MSOffice 与 Open Office

用于读取文档的 C++ 库,在“Open Office Calc”中创建

将类似 Office 2013 的动画添加到我的 C# 应用程序