将pdf报告连成一个pdf(jasper报告)

时间:2017-05-15 09:58:47

标签: java pdf servlets merge jasper-reports

我有一个servlet接收带有参数的请求:它包含用于执行查询的sql表的ID,导致1row结果集(我无法更改此servlet),然后我使用该查询的结果创建一个JAVA对象,并使用它来创建我的"发票" pdf报告。

 @Override
public Object getItem(int position) {
    return urls.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}    

我非常擅长生成这个单独的pdf文件并使用上面的代码将其发送回浏览器

我的问题是: 如果我收到一个" idFromRequest"的数组,我如何使用生成单个pdf的循环创建多个pdf,并逐个将它们添加到最终的pdf中,类似下面的代码:

ServletOutputStream out = response.getOutputStream();
ElencoVerifiche elencoverifiche = new ElencoVerifiche();
VerificheDao vdao = new VerificheDao();
elencoverifiche = vdao.getVerifiche(idFromRequest);
DynamicReportDesign drd = new DynamicReportDesign();            
JasperReportBuilder report = drd.build(elencoverifiche);
report.toPdf(out);
out.close();

Petter评论后,我能够解决问题,如下所示:

ArrayList<idFromRequest>arrayOfID= request.getParameter("arrayofid")
ServletOutputStream out = response.getOutputStream();
UNKNOWN_CLASS reportfinal = new UNKNOWN_CLASS()   ???
for(int i=0;i<arrayOfID.size();i++){            
    ElencoVerifiche elencoverifiche = new ElencoVerifiche();
    VerificheDao vdao = new VerificheDao();
    elencoverifiche = vdao.getVerifiche(idFromRequest);
    DynamicReportDesign drd = new DynamicReportDesign();            
    JasperReportBuilder report = drd.build(elencoverifiche);
    reportfinal.add(report); ??? 
}
reportfinal.toPdf(out);
out.close();

0 个答案:

没有答案