iReport生成pdf打印的實例代碼
更新時間:2017年11月30日 09:16:16 作者:淺安
下面小編就為大家分享一篇iReport生成pdf打印的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
先下載ireport版本 ,我下載的是 iReport-5.0.4 編輯模板 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);
// 報表數(shù)據(jù)源
JRDataSource jrDataSource = new JRBeanCollectionDataSource(employeeVOList);
//模板地址
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("_員工列表.pdf"); //生成PDF文件保存地址
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;
}
這是需要的maven 包
<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中文支持 --> <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>
以上這篇iReport生成pdf打印的實例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java kafka如何實現(xiàn)自定義分區(qū)類和攔截器
這篇文章主要介紹了Java kafka如何實現(xiàn)自定義分區(qū)類和攔截器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
舉例講解設(shè)計模式中的訪問者模式在Java編程中的運(yùn)用
這篇文章主要介紹了舉例講解設(shè)計模式中的訪問者模式在Java編程中的運(yùn)用,訪問者模式是一種將算法與對象結(jié)構(gòu)分離的軟件設(shè)計模式,需要的朋友可以參考下2016-05-05

