iReport generates the instance code for pdf printing
- 2020-12-05 17:11:46
- OfStack
Download the ireport version first. I downloaded the iReport-5.0.4 edit template employees_identity_print_templet
@RequestMapping("printEmpPdf")
@ResponseBody
public Result printEmpPdf(HttpServletRequest request,HttpServletResponse response, Parameter parameter){
Result result=Result.getInitializedResult();
try{
parameter = generateParameter(parameter, request);
Map<String,Object> map= parameter.getParam();
List<EmployeeVO> employeeVOList=employeeBiz.printPdfBarcode(map);
// Report data source
JRDataSource jrDataSource = new JRBeanCollectionDataSource(employeeVOList);
// Address of the template
String jasperSource_adidas= CommonUtils.getAllMessage("jdbc","EMPLOYEES_IDENTITY_PRINT_PDF_TEMPLET")+"employees_identity_print_templet.jasper";
File reportFile = new File(jasperSource_adidas);
Map<String, Object> param_common=new HashMap<String, Object>();
param_common.put("subReport",jasperSource_adidas);
JasperPrint jasperPrint;
jasperPrint = JasperFillManager.fillReport(reportFile.getPath(), param_common, jrDataSource);
String fullPath = String.valueOf(System.currentTimeMillis()).concat("_ Employees list .pdf"); // generate PDF File save address
String filePdfUrl= CommonUtils.getAllMessage("jdbc","IREPORT_FILE_URL");
JRPdfExporter pdfExporter = new JRPdfExporter();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
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);
}
return result;
}
This is the required maven package
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.6.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.2.2</version>
</dependency>
<!-- iReport PDF Chinese support -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itextasian</artifactId>
<version>2.1.7.js2</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7.js2</version>
</dependency>
<dependency>
<groupId>net.sourceforge.barbecue</groupId>
<artifactId>barbecue</artifactId>
<version>1.5-beta1</version>
</dependency>
<dependency>
<groupId>ireport</groupId>
<artifactId>ireport-utils</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>1.8</version>
</dependency>