分享

jasper ireport生成图片的例子

 aaie_ 2017-03-10

需要在你的web.xml中配置image生成器

Java代码  收藏代码
  1. <servlet>  
  2.     <servlet-name>ImageServlet</servlet-name>  
  3.     <servlet-class>  
  4.         net.sf.jasperreports.j2ee.servlets.ImageServlet  
  5.     </servlet-class>  
  6. </servlet>  
  7. <servlet-mapping>  
  8.     <servlet-name>ImageServlet</servlet-name>  
  9.     <url-pattern>/image</url-pattern>  
  10. </servlet-mapping>  


然后你的Export中设置如下:
Java代码  收藏代码
  1. public void export(HttpServletRequest request,  
  2.         HttpServletResponse response, String reportFilePath, Map params,  
  3.         JRDataSource dataSource) {  
  4.     try {  
  5.         PrintWriter out = response.getWriter();  
  6.         try {  
  7.             response.setContentType("text/html;charset=UTF-8");  
  8.             JasperPrint jasperPrint = new JasperPrintWithDataSource(  
  9.                     reportFilePath, params, dataSource).getJasperPrint();  
  10.             // 使用JRHtmlExproter导出Html格式  
  11.             JRHtmlExporter exporter = new JRHtmlExporter();  
  12.             request.getSession().setAttribute(  
  13.                     ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,  
  14.                     jasperPrint);  
  15.             exporter.setParameter(JRExporterParameter.JASPER_PRINT,  
  16.                     jasperPrint);  
  17.             exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);  
  18.             exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,  
  19.                     [color=red]"./image?image="[/color]);  
  20.             exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING,  
  21.                     "UTF-8");  
  22.             exporter.setParameter(  
  23.                     JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "");  
  24.             exporter  
  25.                     .setParameter(  
  26.                             JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,  
  27.                             Boolean.TRUE);  
  28.   
  29.             // 导出  
  30.             exporter.exportReport();  
  31.         } catch (Exception e) {  
  32.             e.printStackTrace();  
  33.         } finally {  
  34.             if (out != null) {  
  35.                 try {  
  36.                     out.close();  
  37.                 } catch (Exception e) {  
  38.                 }  
  39.             }  
  40.         }  
  41.     } catch (IOException ioe) {  
  42.         ioe.printStackTrace();  
  43.     }  
  44. }  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多