java - 在 Java Web 应用程序中生成 PDF

标签 java web-applications pdf itext

我需要在用户付款后生成(动态)PDF,并将其附加到电子邮件中并在我的 Java Web 应用程序中发送。

我正在考虑使用 iText,但我真的不喜欢所有格式和布局如何与 PDF 内容混合在一起,如以下链接中的示例:http://www.coderanch.com/how-to/java/ItextExample

我不喜欢将它们混合在一起的原因是我们的 UI 人员不愿意接触这个 Java 代码。

我还有什么其他选择?我真的不想生成包含所需数据的 XML 文件,然后必须对其进行转换,因此我认为 XSL-FO 可能已经过时了。

最佳答案

我在几个项目中使用了 Jasper Reports,它工作得非常好,编译报告时也非常快。尽管您需要稍微熟悉数据模型,但用于创建报告的 UI 还不错。您可以传入任何您想要的数据源,包括 XML 文件或填充了您的数据的简单 HashMap :

http://jasperforge.org/website/jasperreportswebsite/trunk/documentation.html?header=project&target=jasperreports

伪代码

File myJasperFile  // reference to compiled Jasper file
JRExporter exp = new JRPdfExporter()
ByteArrayOutputSream b;
JasperPrint p = JasperFillManager.fillReport(...)
exp.setParameter(JRExporterParameter.OUTPUT_STREAM, b)
exp.setParameter(JRExporterParameter.JASPER_PRINT, p)
exp.exportReport() // b now contains the PDF binary

关于java - 在 Java Web 应用程序中生成 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6260019/

相关文章:

java - 将 JLabel 放在 JPanel 之上

java - AbstractSecurityWebApplicationInitializer 与 AbstractAnnotationConfigDispatcherServletInitializer

java - 向电子邮件添加附件(Android SDK)

android - PDFTron 墨水注释

java - 如何在文本文件(如数据库)中获取和写入数据

java - 浏览器重启java后保持 session

javascript - Aria 模板 Debug模式未激活

css - 在 css、django 中使用静态图像

css - 如何使用带有目录的 CSS 将 markdown 转换为 PDF?

pdf - 如何以PDF和XML文件导出Swagger文档