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