我已经在 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/