创建合并的 JasperReport 的最佳方法

在我的 Java Web 应用程序中,我确实生成了一份报告,每个客户检测到一页。


我创建了一个 JasperReport,如果客户列表超过 1,我想合并生成的报告。


这是我的代码:


if(myList.size()==1) {

        JasperPrint jp = reportGenerated(myList.get(0).getCustomer());

        ByteArrayOutputStream bos = new ByteArrayOutputStream();

        JasperExportManager.exportReportToPdfStream(jp, bos);


        return bos.toByteArray();

    }else {

        for(Object s: myList) {

                                jasperPrints.add(reportGenerated(s.getCustomer()));

            }

        }

        ByteArrayOutputStream bos = new ByteArrayOutputStream(); 


        JRPdfExporter exporter = new JRPdfExporter();

        exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrints));

        exporter.setExporterOutput(new SimpleOutputStreamExporterOutput("pdf/lettera.pdf")); 

        SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();


        configuration.setCreatingBatchModeBookmarks(true); 

        exporter.setConfiguration(configuration);

        exporter.exportReport();



    }

我想获取合并的 PDF,但我没有找到在ByteArrayOutputStream 中导出JasperPrint列表的函数。


有什么建议吗?


呼如林
浏览 297回答 1
1回答

蛊毒传说

尝试改变:exporter.setExporterOutput(new SimpleOutputStreamExporterOutput("pdf/lettera.pdf"))和:exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(bos));并添加返回语句: return bos.toByteArray();我认为这个解决方案可以帮助你。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java