目前我正在通过以下方式使用Jasper Reports生成pdf文件。
我创建了一个jrxml文件作为" singlePagePdf.jrxml"
我已经声明了一个bean如下
<bean id="singlePagePdf"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView"
p:url="classpath:reports/singlePagePdf.jrxml"
p:reportDataKey="datasource">
<property name="headers">
<props>
<prop key="Content-Disposition">
attachment; filename=singlePage.pdf
</prop>
</props>
</property>
</bean>
因此,当调用相关的URL时,我的控制器将按如下方式处理它。
@RequestMapping(value = "/generate-single-pdf", method = RequestMethod.GET)
@ResponseBody
public ModelAndView generatePageForEmployeePdf(@RequestParam("empId") String employeeId) {
List<EmployeeWork> employeeWorkDetails = employeeService.getEmployeeWorkDetails(employeeId);
JRDataSource jrDataSource = new JRBeanCollectionDataSource(employeeWorkDetails);
Map<String, Object> parameterMap = new HashMap<>();
parameterMap.put("title", "Employee Work Deails");
parameterMap.put("employee", employeeId);
parameterMap.put("datasource", jrDataSource);
return new ModelAndView("invoicePdf", parameterMap);
}
目前它成功为单个员工生成报告。现在我想以相同的格式(使用相同的jrxml文件)创建员工列表的报告,并将其输出到单个pdf文件(即带有多个员工工作明细记录的pdf文件)
有什么想法吗?
提前致谢
答案 0 :(得分:0)
参考这篇文章: How to collate multiple jrxml jasper reports into a one single pdf output file
如上文所述,此任务可以通过使用循环使用首选格式(singlePagePdf.jrxml)生成单个报告,然后将它们添加到jprintList以获得最终输出来实现。