溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iReport如何生成pdf打印

發(fā)布時(shí)間:2021-06-24 12:24:01 來源:億速云 閱讀:347 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)iReport如何生成pdf打印,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

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

  // 報(bào)表數(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>

關(guān)于“iReport如何生成pdf打印”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI