java - 如何将多个 JasperPrint 对象组合成一个具有混合页面方向的报告

标签 java jasper-reports

jasperPrint 对象是纵向的,但是 jasperPrint2 对象是横向的。我想将两个 jasperprints 结合起来生成一个 pdf 文件,但保持它们的原始方向。当我将 jasperPrint2 的页面添加到 jasperPrint 时,最终的 jasperPrint 具有纵向...我测试了 jasperPrint.setOrientation(JasperReport.ORIENTATION_LANDSCAPE) 但没有任何改变。

我如何从两个 jasperprints 保持其原始方向生成一个 pdf 文件?

我有以下代码:

JasperReport report = (JasperReport) JRLoader.loadObject(reportFile2.getPath());
jasperPrint = JasperFillManager.fillReport(report, parameters, conn);

JasperReport report2 = (JasperReport) JRLoader.loadObject(reportFile.getPath());
jasperPrint2 = JasperFillManager.fillReport(report2, parameters, conn);

List pages = jasperPrint2.getPages();
for (int j = 0; j < pages.size(); j++) {
    JRPrintPage object = (JRPrintPage) pages.get(j);
    jasperPrint.addPage(object);
}

最佳答案

您可以通过批量导出来完成此操作。

//put all the jasperPrints you want to be combined into a pdf in this list
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();

JasperReport report = (JasperReport) JRLoader.loadObject(reportFile2.getPath());
jasperPrintList.add(JasperFillManager.fillReport(report, parameters, conn));

JasperReport report2 = (JasperReport) JRLoader.loadObject(reportFile.getPath());
jasperPrintList.add(JasperFillManager.fillReport(report2, parameters, conn));

ByteArrayOutputStream baos = new ByteArrayOutputStream();       
JRPdfExporter exporter = new JRPdfExporter();       
//this sets the list of jasperPrint objects to be exported and merged
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
//the bookmarks is a neat extra that creates a bookmark for each jasper print
exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);     
exporter.exportReport();        
return baos.toByteArray();

关于java - 如何将多个 JasperPrint 对象组合成一个具有混合页面方向的报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8428619/

相关文章:

java - JScrollPane 不会滚动 - Java 桌面应用程序

java - 忽略 spring properties file not found 异常

java - 我的报告在 Eclipse 中正常工作,但使用 jar 文件抛出 "No query executer factory registered for the ' MongoDbQuery'"

jasper-reports - 在 iReport 中用逗号分割字段

jasper-reports - 为什么部分不适合页面高度?

Java 泛型和集合集

java - 如何对需要时间执行操作的线程进行单元测试

java - 如何为总条目创建序列号?

java - 方法 : The local variable editText may not have been initialized 中带有 EditText 的 AlertDialog

java - BigDecimal的计算