Ho un'applicazione Web con un menu a discesa da cui l'utente può selezionare il tipo di rendimento del report. report1, report2, report3, ecc.Combinazione di due rapporti Jasper
In base al report selezionato, un report Jasper viene compilato sul server e viene aperto come pop-up in formato PDF.
Sul lato server, sto implementando ciascun rapporto in un metodo separato utilizzando il seguente codice per es. per relazione1:
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);
Allo stesso modo, relazione2 è in un metodo separato con codice qui sotto:
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);
Ora ho un requisito che, se relazione1 è selezionato dal menu a discesa, il PDF risultante dovrebbe contenere tutti i riporta uno dopo l'altro nello stesso PDF.
Come posso combinare sopra due righe di codici per generare un singolo PDF?
JasperRunManager.runReportToPdf restituisce un array di byte che sto restituendo dal mio metodo. C'è un modo per convertire l'elenco delle pagine JRPrint in array di byte? – Nik
Attenzione a questa soluzione potrebbe non generare correttamente i segnalibri .... –