从Java用Office文档创建PDF的好方法

时间:2020-03-06 14:58:10  来源:igfitidea点击:

我正在寻找一种将Office(主要是Microsoft)文档转换为Java中PDF的好方法。我一直在使用OpenOffice SDK,但是从我看过的示例中来看,这似乎需要在服务器模式下运行OpenOffice才能完成工作。

有人知道这样做的好方法吗?好的意思是外部需求越少越好。最好使用100%的Java API,但我不认为它确实存在。

解决方案

  • 为了访问Office文档,存在POI
  • 为了创建PDF文档,存在iText

两者都是免费的恕我直言。

我们可以尝试使用Cute PDF writer,它基本上是免费的PDF打印机驱动程序,并且可以与任何打印API一起使用。

仅供参考,http://www.artofsolving.com/opensource/jodconverter很好地封装了所有OpenOffice服务器通信。这是我目前正在追求的解决方案。

Jodconvertor的问题在于该项目于2006年9月结束。因此,我什至不确定它是否可以在OpenOffice 3.x上正常运行。
如果有人可以确认这一点,那就太好了。

POI的替代方案是Scriptom,它基于Groovy和Jacob库。使用它,我们可以访问ActiveX或者COM Windows组件。每当需要处理Excel文件时,我都会使用它。

如果我们不喜欢Groovy,则可以围绕Scriptom API构建一个非常薄的层,并从Java中使用它。

看看Muhimbi PDF Converter Web服务。它作为服务在Windows上运行,但可以从任何不支持Windows Web服务的环境(包括Java和.NET)进行访问

免责声明,我从事此产品的工作。话虽如此,它的效果很好。

Docmosis在后台使用OpenOffice来辅助文档制作(如JOD报告和JODConverter)。 Docmosis允许我们通过Java API填充和处理文档。它还提供了内置的可伸缩性,冗余和负载平衡,并且运行时开销非常低。