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