Java从模板创建PDF:Apache FOP vs?

时间:2012-04-18 16:22:29

标签: java pdf xsl-fo apache-fop

我必须从Java创建一个pdf,我想从模板创建它,而不是使用java代码创建它:

document.addLabel("a pdf..")

我已经看到我可以使用XSL-FO作为模板的Apache FOP来做,有没有人知道XSL-FO的免费图形设计器?我发现这只是https://www.ecrion.com/Products/XFDesigner/StartTrial.aspx

还是有一些Apache FOP的替代品吗? 谢谢!

4 个答案:

答案 0 :(得分:5)

我建议你JODReportsJODConverter的组合。 JODReports它是一个从ODT模板生成报告的解决方案,因此使用LibreOffice设计模板很容易。稍后,您可以将报告(格式为.odt或.doc)转换为PDF。

答案 1 :(得分:0)

不确定是免费的 - 氧气和XML间谍远不是免费的选择。 你也可以使用iText,我认为它不再是免费的,并且谷歌周围有很多开源库。个人总是手工完成XSL-FO,所以不能对编辑发表评论(如果没有大量要求,那就非常容易了)

根据您的使用和复杂程度,还有其他选项,例如创建html然后使用wkhtmltopdf处理它

答案 2 :(得分:0)

答案 3 :(得分:0)

查看XDocReport,您可以在其中从odt (report)docx (report)创建模板,并提供过于完整的Java转换器(odt-> pdf,odt-xhtml,docx-> pdf, docx-> xhtml转换器):

  • 使用这些XDocReport完整Java转换器的优点是您无需安装OpenOffice / LibreOffice(如JODConverter)来管理转换。您使用流模式的更多工作(不需要生成临时文件)
  • 与那些XDocReport完整Java转换器的缺点是渲染器可能不如OpenOffice / LibreOffice