使用Java创建PDF

hog*_*i89 52 java pdf export

可能重复:
用于Java的PDF生成库

我正在为当地会计公司制定发票计划.使用Java创建PDF文件的好方法是什么?好的图书馆?我完全不熟悉PDF导出(在任何语言中).

Phi*_*art 79

我更喜欢将我的数据输出到XML(使用Castor,XStreamJAXB),然后使用XSLT样式表将其转换为XSL-FO,并使用Apache FOP将其转换为PDF.到目前为止,已经完成了10页的报告和400页的手册.我发现这比使用iText在代码中生成PDF更灵活和可调整.

  • 您也可以使用freemarker输出xml / html并将字符串泵入iText。这很像您的操作方式,但是freemarker是一个非常好的模板引擎。 (2认同)

Rit*_*esh 34

以下是使用Java创建PDF的几个库:

  1. iText的
  2. Apache PDFBox
  3. BFO

我曾经使用过iText来制作PDF文件,过去有点痛苦.

或者您可以尝试使用FOP:FOP是一个用Java编写的XSL格式化程序.它与XSLT转换引擎结合使用,将XML文档格式化为PDF.

  • 在iText网站上,我读到他们的AGPL许可证要求您"分发所有源代码,包括您自己的产品,包括它是否是基于Web的应用程序"等等.似乎对任何商业项目都是完全不可接受的. (23认同)
  • @mvmn 你的链接已损坏:( (3认同)

box*_*box 17

另一种选择是JasperReports:JasperReports Library.它使用iText本身并不仅仅是您要求的PDF库,但如果它符合您的需求,我会选择它.

简而言之,它允许您设计可在运行时填充的报表.如果使用自定义数据源,则可以将JasperReports轻松集成到现有系统中.它可以为您节省整个布局问题,例如当发票跨越更多站点时,每个站点应该有一个页脚等等.