我有一个Web应用程序,从用户可以选择报告类型的下拉列表,报告1,报告2,报告3等。结合两个贾斯珀报告
根据所选报告,Jasper报告在服务器上编译并以PDF格式弹出打开。
在服务器端,我用单独的方法使用下面的代码来实现每个报告。用于报告1:
JRBeanCollectionDataSource report1DataSource = new JRBeanCollectionDataSource(resultSetBeanListReport1);
InputStream inputStreamReport1 = new FileInputStream(request.getSession().getServletContext().getRealPath(jrxmlFilePath + "report1.jrxml"));
JasperDesign jasperDesignReport1 = JRXmlLoader.load(inputStreamReport1);
JasperReport jasperReportReport1 = JasperCompileManager.compileReport(jasperDesignReport1);
bytes = JasperRunManager.runReportToPdf(jasperReportReport1, titleMapReport1, report1DataSource);
类似地,报告2是在与下面的代码单独的方法:
JRBeanCollectionDataSource invstSummDataSource = new JRBeanCollectionDataSource(resultSetBeanListInvstOfSumm);
InputStream inputStreamInvstSumm = new FileInputStream(request.getSession().getServletContext().getRealPath(jrxmlFilePath + "investSummary.jrxml"));
JasperDesign jasperDesignInvstSumm = JRXmlLoader.load(inputStreamInvstSumm);
JasperReport jasperReportInvstSumm = JasperCompileManager.compileReport(jasperDesignInvstSumm);
bytes = JasperRunManager.runReportToPdf(jasperReportInvstSumm, titleMapInvstSumm, invstSummDataSource);
现在我有一个要求,即如果报告1被从下拉列表中选择的,所得到的PDF应该包含所有的在同一PDF中一个接一个地报告。
如何结合以上两行代码最终生成单个PDF?
JasperRunManager.runReportToPdf返回我从我的方法返回的字节数组。有没有办法将JRPrint页面列表转换为字节数组? – Nik
请注意,此解决方案可能无法正确生成书签。 –