我在jasper report中创建了一个报告,当我在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块,而不是进入下一行。我坚持任何解决方案。

例外是:

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

最佳答案

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

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

希望这可以帮助您找到错误。

编辑:

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

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

10-12 06:28