1
我有一个web应用程序。我使用Spring Boot 1.3.3,AngularJS和Jasper 5.6.0。当我尝试下载碧玉报告时,我收到空白的PDF页面。我的代码是:Spring Boot Jasper Report空白PDF
String jasperAdi = "yillikPlan.jasper";
StringBuffer pathMain = new StringBuffer();
pathMain.append(this.getClass().getResource("/static/jasper").getPath());
String jasperFileName = pathMain.toString() + File.separator + jasperAdi;
File jasperFile = new File(jasperFileName);
JasperReport report = (JasperReport) JRLoader.loadObject(jasperFile);
JasperPrint jasperPrint = JasperFillManager.fillReport(report, param, new JRBeanCollectionDataSource(ckModelList));
if (jasperPrint != null) {
byte[] pdfReport = JasperExportManager.exportReportToPdf(jasperPrint);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/pdf"));
headers.setContentDispositionFormData("yillikPlan.pdf", "yillikPlan.pdf");
ResponseEntity<byte[]> respon = new ResponseEntity<byte[]>(pdfReport, headers, HttpStatus.OK);
return respon;
}
我的jasper文件位置是/ static/jasper。 ckModelList是一个java.util.List。 param是一个我推送报告参数的HashMap。
我该如何解决这个问题。
您是否尝试调试?数据源好吗? –
是的,我尝试调试。我的数据源是好的。 @AlexK – renis
我面临同样的问题。你设法解决它吗? – tranceholic