在我的 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列表的函数。有什么建议吗?
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
尝试改变:
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput("pdf/lettera.pdf"))
和:
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(bos));
并添加返回语句:
return bos.toByteArray();
我认为这个解决方案可以帮助你。
添加回答
举报
0/150
提交
取消