我有一個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
請注意,此解決方案可能無法正確生成書籤。 –