birt 报表加入图片_BIRT的图片问题。 - Tomorrow Belong To Nobody... - BlogJava

1 packagecn.com.maxtech.fileupload;2 3 importjava.io.IOException;4 importjava.util.Enumeration;5 importjava.util.HashMap;6 importjava.util.Map;7 importjava.util.logging.Level;8 importjava.util.logging.Logger;9 10 importjavax.servlet.ServletContext;11 importjavax.servlet.ServletException;12 importjavax.servlet.http.HttpServlet;13 importjavax.servlet.http.HttpServletRequest;14 importjavax.servlet.http.HttpServletResponse;15 16 17 importorg.eclipse.birt.report.engine.api.EngineConstants;18 19 importorg.eclipse.birt.report.engine.api.HTMLRenderContext;20 importorg.eclipse.birt.report.engine.api.HTMLRenderOption;21 22 importorg.eclipse.birt.report.engine.api.EngineConfig;23 importorg.eclipse.birt.report.engine.api.HTMLActionHandler;24 importorg.eclipse.birt.report.engine.api.HTMLEmitterConfig;25 importorg.eclipse.birt.report.engine.api.HTMLServerImageHandler;26 importorg.eclipse.birt.report.engine.api.IReportEngine;27 importorg.eclipse.birt.report.engine.api.IReportRunnable;28 importorg.eclipse.birt.report.engine.api.IRunAndRenderTask;29 30 31 publicclassWebReportextendsHttpServlet {32 33 /**34 *35 */36 privatestaticfinallongserialVersionUID=1L;37 /**38 * Constructor of the object.39 */40 privateIReportEngine birtReportEngine=null;41 protectedstaticLogger logger=Logger.getLogger("org.eclipse.birt");42 43 publicWebReport() {44 super();45 }46 47 /**48 * Destruction of the servlet.49 */50 publicvoiddestroy() {51 super.destroy();52 BirtEngine.destroyBirtEngine();53 }54 55 56 /**57 * The doGet method of the servlet.58 *59 */60 publicvoiddoGet(HttpServletRequest req, HttpServletResponse resp)61 throwsServletException, IOException {62 63 Map m=newHashMap();64 Enumeration names=req.getParameterNames();65 while(names.hasMoreElements()) {66 String name=(String)names.nextElement();67 String value=req.getParameter(name);68 if(name.trim().equals("ReportName")||name.trim().equals("action")||value==null||value.trim().equals("")) {69 70 }else{71 m.put(name, value);72 System.out.print(name+"--->");73 System.out.println(m.get(name));74 }75 76 }77 78 ServletContext sc=req.getSession().getServletContext();79 80 this.birtReportEngine=BirtEngine.getBirtEngine(sc);81 EngineConfig config=birtReportEngine.getConfig();82 HTMLEmitterConfig emitterConfig=newHTMLEmitterConfig( );83 emitterConfig.setActionHandler(newHTMLActionHandler( ) );84 HTMLServerImageHandler imageHandler=newHTMLServerImageHandler( );85 emitterConfig.setImageHandler( imageHandler );86 87 config.getEmitterConfigs( ).put("html", emitterConfig );88 89 90 resp.setContentType("text/html");91 //resp.setContentType( "application/pdf" );92 //resp.setHeader ("Content-Disposition","inline; filename=test.pdf");93 String reportPath=req.getParameter("reportPath");94 String reportName=req.getParameter("ReportName");95 96 97 //setup image directory98 HTMLRenderContext renderContext=newHTMLRenderContext();99 renderContext.setBaseImageURL(req.getContextPath()+"/images");100 renderContext.setImageDirectory(sc.getRealPath("/images"));101 102 renderContext.setSupportedImageFormats("JPG;PNG;BMP;SVG");103 104 logger.log( Level.FINE,"image directory"+sc.getRealPath("/images"));105 System.out.println("stdout image directory"+sc.getRealPath("/images"));106 System.out.println("stdout image directory"+renderContext.getBaseImageURL());107 108 HashMapcontextMap=newHashMap();109 contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );110 111 IReportRunnable design;112 try113 {114 //Open report design115 design=birtReportEngine.openReportDesign( sc.getRealPath("/upload/baobiao/"+reportPath)+"/"+reportName );116 //create task to run and render report117 IRunAndRenderTask task=birtReportEngine.createRunAndRenderTask( design );118 task.setAppContext( contextMap );119 120 //set output options121 HTMLRenderOption options=newHTMLRenderOption();122 options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);123 //options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_PDF);124 options.setOutputStream(resp.getOutputStream());125 task.setRenderOption(options);126 127 //run report128 task.setParameterValues(m);129 task.run();130 task.close();131 }catch(Exception e){132 133 e.printStackTrace();134 thrownewServletException( e );135 }136 }137 138 /**139 * The doPost method of the servlet.140 *141 */142 publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)143 throwsServletException, IOException {144 145 this.doGet(request, response);146 }147 148 /**149 * Initialization of the servlet.150 *151 *@throwsServletException if an error occure152 */153 publicvoidinit()throwsServletException {154 155 BirtEngine.initBirtConfig();156 157 }158 159 }160

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值