我正在将我们的一个内部应用程序转换为使用 OpenOffice/LibreOffice
以及 MS Office
.
我最初担心很难同时支持 OpenOffice
和 LibreOffice
,但我安装了 LibreOffice
SDK,令我惊讶的是它启动了 Apache OpenOffice
安装(我已经安装了) .
到目前为止,它一直运作良好,所以我对兼容性的担忧已经消失 .
我的问题是你如何告诉bootstrap方法启动哪个版本?
如果两者都安装了,有没有办法指定 LibreOffice
而不是 OpenOffice
?
我正在使用 C#/.NET
在 Visual Studio
中进行开发,但我已经非常擅长翻译其他语言的示例,因为Web上的OO / LO API示例非常吝啬 .
1 回答
既然您提到其他语言的解决方案可能已被翻译/可行:
这是一个Java解决方案 .
Background
使用Java时,使用OOo / LO(分别是OpenOffice.org和LibreOffice),您需要使用juh.jar Build 连接,并且此jar必须位于OOo / LibreOffice的安装文件夹中和类路径上 .
如果您正在使用maven或在Web容器上安装,这非常困难......为了解决这个问题,这个页面:https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=2520&sid=42b65314c6f727fe42315c9910e443b7下载了作为第一篇文章(2008年2月10日)的一部分,今天我使用了相同的jar (2014年1月30日)并且可以验证它在Ubuntu 13.10上与LibreOffice 4.1.4一起使用 . 所以这应该给你进一步的兼容性保证!
Solution
在该页面上可以看到提供的解决方案将更改连接字符串:
以下允许您将juh.jar作为项目资源,但也需要bootstrapconnection.jar作为项目的一部分,因为安装文件夹不是相对于juh.jar文件必须显式声明,如下所示:
源代码也可以在下载的jar中找到 .
OOo / LO都开始使用“soffice” .
查看代码(bootstrapconnector.jar)后,它看起来不会太长,并且应该很容易转换 .
My question is how do you tell the bootstrap method which version to launch?
将bootstrapconnector.jar中包含的代码转换为C#,你应该好好去
确定"soffice"的路径
找出哪一个适合传入