先下载ireport版本 ,我下载的是 iReport-5.0.4 编辑模板 employees_identity_print_templet
@RequestMapping("printEmpPdf")
@ResponseBodypublicResult printEmpPdf(HttpServletRequest request,HttpServletResponse response, Parameter parameter){
Result result=Result.getInitializedResult();try{
parameter=generateParameter(parameter, request);
Map map=parameter.getParam();
List employeeVOList=employeeBiz.printPdfBarcode(map);//报表数据源
JRDataSource jrDataSource = newJRBeanCollectionDataSource(employeeVOList);//模板地址
String jasperSource_adidas= CommonUtils.getAllMessage("jdbc","EMPLOYEES_IDENTITY_PRINT_PDF_TEMPLET")+"employees_identity_print_templet.jasper";
File reportFile= newFile(jasperSource_adidas);
Map param_common=new HashMap();
param_common.put("subReport",jasperSource_adidas);
JasperPrint jasperPrint;
jasperPrint=JasperFillManager.fillReport(reportFile.getPath(), param_common, jrDataSource);
String fullPath= String.valueOf(System.currentTimeMillis()).concat("_员工列表.pdf"); //生成PDF文件保存地址
String filePdfUrl= CommonUtils.getAllMessage("jdbc","IREPORT_FILE_URL");
JRPdfExporter pdfExporter= newJRPdfExporter();
ByteArrayOutputStream baos= newByteArrayOutputStream();
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
pdfExporter.exportReport();byte[] bytes =baos.toByteArray();
File file=new File(filePdfUrl+fullPath);
WebUtil.writeByteArrayToFile(file,bytes);
result.baseSucResult(fullPath);
}catch(Exception e){
result.baseFailResult("EmployeeController printEmpPdf error",parameter);
logger.error("EmployeeController printEmpPdf error",e);
}returnresult;
}
这是需要的maven 包
net.sf.jasperreports
jasperreports
5.6.0
org.codehaus.groovy
groovy-all
2.2.2
com.lowagie
itextasian
2.1.7.js2
com.lowagie
itext
2.1.7.js2
net.sourceforge.barbecue
barbecue
1.5-beta1
ireport
ireport-utils
2.0.1
commons-collections
commons-collections
3.2
commons-digester
commons-digester
1.8