我正在使用JasperExportManager将包含152页(通过调用JasperPrint#getPageCount()
确认)的JasperPrint报告导出为PDF。但是,PDF仅包含前100页。
我找不到一种方法,表明JasperExportManager#exportReportToPdf(JasperPrint print, OutputStream os)
方法应该以某种方式“分页”。任何人都可以了解如何确保打印/导出整个报告吗?
以下是我正在使用的代码......
Map args = new HashMap();
if (null != tResult){
l.debug("Task Result is not Null");
JasperResult jResult = tResult.getReport();
if(null != jResult){
JasperPrint jPrint = jResult.getJasperPrint();
l.debug("Total Pages: " + jResult.getPageCount());
l.debug("Jasper Result is not Null");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String fileName = filePrefix + sdf.format(date) + ".pdf";
OutputStream os = new FileOutputStream(new File(fileLocation + fileName));
JasperExportManager.exportReportToPdfFile(jResult.getJasperPrint(), os);
os.flush();
os.close();
}
}
为清楚起见,tResult是我正在使用的产品创建的对象,它包含一个JasperResult,它是JasperPrint对象的包装器。 JasperResult#getJasperPrint()
返回包含报告的JasperPrint
对象。