gpt4 book ai didi

java - 如何将两个 jrxml jasper 报告合并为 1 个 pdf 同一页面

转载 作者:行者123 更新时间:2023-11-30 03:07:37 25 4
gpt4 key购买 nike

我尝试从这个站点回答将两个 jrxml jasper 合并到 1 个 pdf 文件中。创建的文件包含两页...

如何将两个jrxml合并到一个页面中?

JasperPrint jasperPrint1 = JasperFillManager.fillReport(getClass().getResourceAsStream("/coba.jasper"), param, new JREmptyDataSource());
JasperPrint jasperPrint2 = JasperFillManager.fillReport(getClass().getResourceAsStream("/coba2.jasper"), param2, new JREmptyDataSource());

List pages = jasperPrint2.getPages();
for (int i = 0; i < pages.size(); i++) {
JRPrintPage object = (JRPrintPage)pages.get(i);
jasperPrint1.addPage(object);
}
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, jasper);
OutputStream output = new FileOutputStream(new File("d:\\demo.pdf"));
exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, output);
exporter.exportReport();

最佳答案

这是因为您要添加页面addPage,因此需要将一个页面上的元素添加到另一个页面。

JRPrintPage page1 = jasperPrint1.getPages().get(0);
List<JRPrintPage> pages2 = jasperPrint2.getPages();
for (JRPrintPage page : pages2) {
List<JRPrintElement> elements = page.getElements();
for (JRPrintElement element : elements) {
page1.addElement(element);
}
}

此代码将在 jasperPrint1 的第 1 页中添加 jasperPrint2(在其所有页面中)的所有元素

注意:错误处理(NullpointerArrayIndexOutOfBounds)超出了示例的范围。

关于java - 如何将两个 jrxml jasper 报告合并为 1 个 pdf 同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com