【问题标题】:How to choose between OpenOffice and LibreOffice in API/SDK如何在 API/SDK 中选择 OpenOffice 和 LibreOffice
【发布时间】:2013-12-20 20:21:25
【问题描述】:

除了MS Office,我正在转换我们的一个内部应用程序以使用OpenOffice/LibreOffice

我原本担心很难同时支持OpenOfficeLibreOffice,但我安装了LibreOffice SDK,令我惊讶的是它启动了Apache OpenOffice 安装(我都安装了)。 到目前为止,它一直运行良好,所以我对OpenOffice/LibreOffice 兼容性的担忧已经消失。

我的问题是如何告诉引导方法要启动哪个版本?
如果两者都安装了,有没有办法指定LibreOffice 而不是OpenOffice
我正在使用Visual StudioC#/.NET 进行开发,但是由于网络上的 OO/LO API 示例太少了,所以我在翻译其他语言的示例方面做得非常好。

【问题讨论】:

    标签: api openoffice.org libreoffice uno


    【解决方案1】:

    既然您提到其他语言的解决方案可能会被翻译/可行:

    这是一个 Java 解决方案。

    背景

    使用 OOo/LO(分别为 OpenOffice.org 和 LibreOffice)使用 Java 时需要使用 juh.jar 建立连接,并且此 jar 必须在 OOo/LibreOffice 的安装文件夹和类路径中。

    如果您使用 maven 或在 Web 容器上安装,这将非常困难...要解决此问题,此页面:https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=2520&sid=42b65314c6f727fe42315c9910e443b7 已作为第一篇文章(2008 年 2 月 10 日)的一部分下载,我今天(2014 年 1 月 30 日)使用了同一个 jar,并且可以验证它是否可以在 Ubuntu 13.10 上与 LibreOffice 4.1.4 一起使用。所以这应该会给你进一步的兼容性保证!

    解决方案

    在该页面上可以看到提供的解决方案将连接字符串更改为:

    //following assumes juh.jar is in the OOo/LO installation folder and is also on the classpath
    com.sun.star.uno.XComponentContext xContext = com.sun.star.comp.helper.Bootstrap.defaultBootstrap_InitialComponentContext();
    

    以下允许您将 juh.jar 作为项目资源但也需要 bootstrapconnection.jar 作为项目的一部分,因为安装文件夹与必须显式声明的 juh.jar 文件无关,像这样:

    //fully qualified names used to avoid any ambiguity
    String oooExeFolder = "/opt/libreoffice4.1/program/";
    com.sun.star.uno.XComponentContext xContext = ooo.connector.BootstrapSocketConnector.bootstrap(oooExeFolder);
    

    源代码在下载的jar中也有。

    OOo/LO 都开始使用“soffice”。

    查看了代码 (bootstrapconnector.jar),它看起来并不过长,应该很容易转换。

    我的问题是如何告诉引导方法要启动哪个版本?

    • 将 bootstrapconnector.jar 中包含的代码转换为 C# 就可以了
    • 确定“soffice”的路径
    • 找出适合传入的那个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多