有没有办法将Open Office嵌入我的应用程序?

时间:2011-01-20 07:35:18

标签: java openoffice.org uno

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

2 个答案:

答案 0 :(得分:2)

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

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

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

FC

答案 1 :(得分:0)

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

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

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

虽然如果在外部Java应用程序中嵌入OpenOffice组件,我仍无法找到任何严格的文档,但是 - 朝向UNO API的视图 - 引用在Using the Desktop文章中,介绍了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