当前位置:  开发笔记 > 编程语言 > 正文

如何在服务器模式下将OpenOffice用作多线程服务?

如何解决《如何在服务器模式下将OpenOffice用作多线程服务?》经验,为你挑选了2个好方法。

在服务器模式下使用OpenOffice有什么经验?我知道OpenOffice不是多线程的,现在我需要在我们的服务器中使用它的服务.
我该怎么做才能克服这个问题?

我正在使用Java.



1> Bastian Span..:

使用当前版本的JODConverter(3.0-SNAPSHOT),在无头模式下处理OOo的多个线程非常容易,因为库现在支持启动多个实例并将它们保存在池中,只需提供多个端口号或命名构造OfficeManager实例时的管道:

final OfficeManager om = new DefaultOfficeManagerConfiguration()
  .setOfficeHome("/usr/lib/openoffice")
  .setPortNumbers(8100, 8101, 8102, 8103)
  .buildOfficeManager();

om.start();

然后,您可以使用库来转换文档,而无需在后台处理OOo实例池:

OfficeDocumentConverter converter = new OfficeDocumentConverter(om);
converter.convert(new File("src/test/resources/test.odt"), new File("target/test.pdf"));



2> vladr..:

是的,我使用OpenOffice作为文档转换服务器.

不幸的是,您的问题的解决方案是生成一个OpenOffice进程池.

JODConverter 的commons-pool分支(在移动之前code.google.com)为您实现了这个开箱即用的功能.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有