将PDF生成的这些产品与Java内部给定的要求进行比较:iText,Apache PDFBox或FOP?[已关闭]

对此存在问题,但不是最近才提出的,从那时起,技术一定已经向前发展。

要求:

  • 基于预定义的模板生成pdf文档(我可以使用pdf表单或xsl-fo)
  • 能够填充文本数据
  • 能够填充图形数据(生成的条形码)
  • 能够在生产环境中更改pdf模板而无需修补(重新编译)
  • 生成要保存在数据库中的pdf文件(作为blob)和/或打印
  • 开源/免费

假设的选项是iText,PDFBox,FOP,还有其他吗?根据上述要求有哪些建议?


答案 1
  1. iText;如今,iText是一个商业库,最新版本不再是免费的(旧版本的分支仍然在MIT许可证下:OpenPDF)
  2. 福普;我和FOP一起工作了很多。它相当资源密集(Java > XML > XSLT > PDF),复杂的 PDF 成为一场噩梦(可能导致 XSLT 具有 20k+ LoC)
  3. PDFBox;它似乎是最好的选择,尽管我没有在大型项目中使用它
  4. 尚未检查飞碟

最后,我会尝试一下PDFBox。根据您的条形码要求,您可能需要将条形码(字体)内联到PDF中或将字体分发给您的客户 - 处理这些问题。


答案 2

我用Flying Saucer http://code.google.com/p/flying-saucer/ 做了一个基于iText的项目。它是免费的,易于使用,对CSS有很好的支持,并且有很好的开源。


推荐