如果时间是最重要的(如通常情况下,当你的老板给了你的东西),我会建议您检查出iText的(主要站点是here)。学习非常非常简单(您可以在20分钟内完成它,运行并生成简单的“Hello,PDF!”示例),并且可以将几乎任何内容导出为PDF:表格,列表,图表,图片,超文本等。
JasperReports实施JRBeanCollectionDataSource
是我自己承认的,它是一种更优雅,灵活,永久的解决方案。但是如果你需要一个快速的n-dirty库来生成PDF文件,和即将到来的截止日期已经接近尾声,我会下载iText JAR并在其中进行下载。
该网站载有实际的代码示例,几乎任何你想完成。
与JasperReports不同,iText不是报表生成器。它只是一个PDF生成器(从我可以告诉您的问题,听起来像所有你需要的)。因此,对于任何特定的bean,你只要选择你要导出到PDF发票的属性,并使用Chunk
,Paragraph
等类,以它们添加到该文件,因为你需要:
// Your POJO/Bean/VO
Employee oEmp = new Employee();
Document oInvoicePdf = new Document();
PdfWriter.getInstance(document, new FileOutputStream("/invoices/2011/Invoice201.pdf"));
document.open();
document.add(new Chunk("Employee's name is : " + oEmp.getName()));
document.close();
即使这不是你要找的,不惜一切代价我会推荐你转向明确的Apache PdfBox。在我看来,这是纯粹的邪恶,只会打破你的心。
希望这会有所帮助,祝您好运!
您是否在寻找与Java + Hibernate和Spring结合使用的替代方案? –
DynamicJasper API是JasperReports API的“包装器”API –
关于iReport性能,最近的4.1.x和4版本中存在某种错误。5版本。查看此论坛帖子了解更多信息:http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=94781#95291。删除/重置类路径将iReport的性能提高了一个数量级。 – kaliatech