java - JRPdfExporter 不工作

标签 java jasper-reports

我已经在 jasper 报告中创建了一个报告,当我在 servlet 中编写代码以将报告导出为 pdf 时,它没有显示该报告。

JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//OutputStream ouputStream = response.getOutputStream();
//pdfExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "C:/reports/payment.pdf");
pdfExporter.exportReport();

现在在调试过程中,当调试器到达此行时 JRPdfExporter pdfExporter = new JRPdfExporter();它只是进入finally block 而不是下一行。我陷入了这个任何解决方案。

异常(exception)是:

java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
java.lang.ClassNotFoundException: com.lowagie.text.DocumentException

最佳答案

您的代码看起来不错,并且可以正确编译和运行。我怀疑问题出在 JasperPrint 内部。确保您确实从 JRXML 文件编译了 JasperPrint

如果您在 JRPdfExporter 中设置一个空的 JasperPrint,它仍然会正确运行,但会生成一个空的 PDF 文件。

希望这可以帮助您定位错误。

编辑:

您提供的这些异常消息表明JVM无法定位DocumentException,根据包名称,这是iText库中的一个类,如果您使用过iText,请确保您已将iText包含在您的类路径中。

关于java - JRPdfExporter 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7606023/

相关文章:

MySQL计算一个数据点为空时的时间差

java - 在无需部署组件的情况下对 EJB3 组件进行单元测试的最佳方法是什么

java - 如何在浏览器中运行 Java 小程序 : "Class Not Found exception"

java - 安卓应用架构

java - Exoplayer 隐藏 PlaybackControlView onClick(不是 onTouch)

jasper-reports - <a> 用于超链接的 html 标签在 Jasper Report 中不起作用

java - 无法清除数据或将数据添加到列表 - UnsupportedOperationException

java - 从命令行运行基于 JasperReports 的应用程序时出现 NoClassDefFoundError

jasper-reports - Jasper Reports - 如何让列页脚直接出现在详细信息区域下方

java - 报告中的 XML 数据源不起作用