欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

iReport生成pdf打印的实例代码

时间:2021-05-16 09:36:51|栏目:JAVA代码|点击:

先下载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);

  // 报表数据源
  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>

上一篇:导入项目出现Java多个工程相互引用异常A cycle was detected in the build path of project的解决办法

栏    目:JAVA代码

下一篇:Hibernate中Session.get()方法和load()方法的详细比较

本文标题:iReport生成pdf打印的实例代码

本文地址:http://www.codeinn.net/misctech/122244.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有