在Java中使用Office文档创建PDF的好方法

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

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

  • 对于访问Office文档,存在POI
  • 对于创建PDF文档,存在iText

两者都是免费的imho。

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

您可以尝试使用Cute PDF writer ,它基本上是一个免费的PDF打印机驱动程序,可以使用任何打印API。

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

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

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

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

免责声明,我参与了这个产品。 话虽如此,它的效果很好。

Docmosis使用OpenOffice来帮助文档生成,如JOD Reports和JODConverter。 Docmosis允许您通过Java API填充和操作文档。 它还提供内置的可伸缩性,冗余和负载平衡,并且具有非常低的运行时开销。