编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

jasperreport+ireport生成pdf文件并下载

wxchong 2024-06-19 22:15:40 开源技术 15 ℃ 0 评论

话不多说,直接上代码:

@RequestMapping("/demo01")
 public void test(HttpServletRequest request, HttpServletResponse response) {
 
 try{
 Map<String, Object> paramsMap = new HashMap<>();
 File logoFile = ResourceUtils.getFile("classpath:static/img/logo.jpg");
 paramsMap.put("logUrl",logoFile.getAbsolutePath());
 List<ApplyForEvaluation> listObj = new ArrayList<>();
 ApplyForEvaluation obj = new ApplyForEvaluation();
 obj.setEvaluateCode("1112845857174");
 obj.setHouseOwner("张三");
 obj.setPropertyNo("1234567890");
 obj.setHouseAddress("1号楼2单元602室");
 obj.setSystemAddress("1号楼2单元602室");
 obj.setBuildingStructure("混凝土");
 obj.setCurrentFloor(12);
 obj.setTotalFloor(33);
 obj.setBuildingArea(189.43);
 obj.setHouseUse("住房");
 obj.setBuildingYear(2001);
 obj.setEvaluateDate("2018年9月3日");
 obj.setUnitPrice(170000);
 obj.setTotalPrice(604.38);
 listObj.add(obj);
 String fileName = "E:\\iReportDemo\\applyForEvaluate.jrxml";//直接操作生成的jrxml文件
 JasperReport jasperReport = JasperCompileManager.compileReport(fileName);//编译jrxml文件
 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, paramsMap, new JRBeanCollectionDataSource(listObj));
 //设定输出格式
 OutputStream ouputStream = response.getOutputStream();
 response.setContentType("application/pdf");
 response.setCharacterEncoding("UTF-8");
 response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(obj.getEvaluateCode(), "UTF-8") + ".pdf");
 // 使用JRPdfExproter导出器导出pdf
 JRPdfExporter exporter = new JRPdfExporter();
 exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
 exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(ouputStream));
 SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
 exporter.setConfiguration(configuration);
 exporter.exportReport();
 }catch (Exception e){
 e.printStackTrace();
 }
 
 
 }

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表