1

OpenOffice/LibreOffice除了MS Office. _

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

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

4

1 回答 1

0

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

这是一个 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#,你应该很高兴
  • 确定通往“办公室”的路径
  • 找出适合传入的
于 2014-01-31T04:44:59.923 回答