I am using JasperReports for to generate and export PDF file. I am not directly connected with datebase.Here is my code @RequestMapping(value = "/pdfReport", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE) public void downloadPDF(HttpServletResponse response, @RequestBody ReportTransport reportTransport) throws IOException, JRException { InputStream jasperStream = this.getClass().getResourceAsStream("report2.jrxml"); JasperDesign design = JRXmlLoader.load(jasperStream); JasperReport report = JasperCompileManager.compileReport(design); Map<String, Object> parameterMap = new HashMap<>(); List<ReportDescription> reportDescriptions = storageManager.getPDFReport(reportTransport); JRDataSource jrDataSource = new JRBeanCollectionDataSource(reportDescriptions); parameterMap.put("datasource", jrDataSource); JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameterMap, jrDataSource); response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "inline; filename=report.pdf"); final OutputStream outputStream = response.getOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream); }
I create List of Report Descriptions and fill it through my storage manager. Then create new JRBeanCollectionDataSource according to model class.
It works fine however I need to add some information to PDF file from request body like ID and name (information about things user choose in request). It is not in model class and I don't know how to add and fill these fields. Any idea?
0 Answers:
No answers yet