如何将多个jrxml jasper报告整理到一个pdf输出文件中

我必须使用五个不同的SQL查询来准备报告。每个查询将给出一个报告表。

因此,我编写了5个jrxml文件,每个文件都与上述查询之一相对应,并带有各自的标题,标题设置,页脚,页码等。

现在,我能够将上述每个jrxmls编译,打印和导出为5个不同的pdf。

但是,客户希望将所有报告整理为一个pdf。即在最终的pdf中,前四页将报告为一个,接下来的五页报告为两个,然后报告三,依此类推。

1)如何实现这一目标?

2)每个报告的页码为1 / 4、2 / 4、3 /

4等。其中第二部分(即完整的页码)以评估时间作为报告进行评估。因此,当我将所有报告整理为单个pdf(如果可能)时,是否有可能将页数重新编号为最终pdf?

根据以下答案,我在java类中执行了以下操作,并且可以正常工作:

 try

{

JasperReport jreport1 = JasperCompileManager.compileReport(input1);

JasperPrint jprint1 = JasperFillManager.fillReport(jreport1, new HashMap(), new JREmptyDataSource());

//JasperExportManager.exportReportToPdfFile(jprint, "/home/ashutosh/Desktop/desktop/nikunj/JasperTestApp/output/mytest.pdf");

JasperReport jreport2 = JasperCompileManager.compileReport(input2);

JasperPrint jprint2 = JasperFillManager.fillReport(jreport2, new HashMap(), new JREmptyDataSource());

JasperReport jreport3 = JasperCompileManager.compileReport(input3);

JasperPrint jprint3 = JasperFillManager.fillReport(jreport3, new HashMap(), new JREmptyDataSource());

List<JasperPrint> jprintlist = new ArrayList<JasperPrint>();

jprintlist.add(jprint1);

jprintlist.add(jprint2);

jprintlist.add(jprint3);

JRExporter exporter = new JRPdfExporter();

exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, jprintlist);

OutputStream output = new FileOutputStream(new File("/home/ashutosh/Desktop/desktop/nikunj/JasperTestApp/output/mytestbatch.pdf"));

exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, output);

exporter.exportReport();

}catch(Exception e)

{

e.printStackTrace();

}

上图:input1,input2,input3是输入jrxml的字符串路径

我的JRXML文件仅打印三个消息:Hello World 1,Hello World 2,Hello World 3。

 <?xml version="1.0"?>

<!DOCTYPE jasperReport

PUBLIC "-//JasperReports//DTD Report Design//EN"

"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

<jasperReport name="Simple_Report">

<detail>

<band height="20">

<staticText>

<reportElement x="180" y="0" width="200" height="20"/>

<text><![CDATA[Hello World One!]]></text>

</staticText>

</band>

</detail>

</jasperReport>

谢谢阅读!

回答:

您可以利用导出整个jasperprint列表的优势:

List jpList = new ArrayList();

jpList.add(JRLoader.loadObjectFromFile("build/reports/Report1.jrprint"));

...

JRExporter exporter = new JRPdfExporter();

exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, jpList);

exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, stream);

exporter.exportReport();

以上是 如何将多个jrxml jasper报告整理到一个pdf输出文件中 的全部内容, 来源链接: utcz.com/qa/409645.html

回到顶部