java學習

          java學習

           

          highcharts本地導出圖片,pdf服務端代碼


          先要在exporting.js中修改導出圖片的url是本地的服務器地址

          String type = getPara("type");//getRequest().getParameter("type");
                  String svg =getPara("svg");// getRequest().getParameter("svg");
                  String filename = getPara("filename");//getRequest().getParameter("filename");
                  ServletOutputStream out1 =  null;
                  try {
                      //getRequest().setCharacterEncoding("utf-8");
                      
                      System.out.println(type);
                      System.out.println(svg);
                      System.out.println(filename);
                      filename = filename==null?"chart":filename;
                       out1 = getResponse().getOutputStream();
                      if (null != type && null != svg) {
                          svg = svg.replaceAll(":rect", "rect");
                          String ext = "";
                          Transcoder t = null;
                          if (type.equals("image/png")) {
                              ext = "png";
                              t = new PNGTranscoder();
                          } else if (type.equals("image/jpeg")) {
                              ext = "jpg";
                              t = new JPEGTranscoder();
                          } else if(type.equals("image/svg+xml")) {
                                ext = "svg";
                          }else if(type.equals("application/pdf")){
                              t = new PDFTranscoder();
                              ext = "pdf";
                          }
                              
                          getResponse().addHeader("Content-Disposition", "attachment; filename="+ filename + "."+ext);
                          getResponse().addHeader("Content-Type", type);
                          
                          if (null != t) {
                              TranscoderInput input = new TranscoderInput(new StringReader(svg));
                              TranscoderOutput output = new TranscoderOutput(out1);                    
                              try {
                                  t.transcode(input, output);
                              } catch (TranscoderException e) {
                                  out1.print("Problem transcoding stream. See the web logs for more details.");
                                  e.printStackTrace();
                              }
                          } else if (ext.equals("svg")) {
                          //    out.print(svg);
                              OutputStreamWriter writer = new OutputStreamWriter(out1, "UTF-8");
                              writer.append(svg);
                              writer.flush();
                              writer.close();
                          } /*else
                              out.print("Invalid type: " + type);*/
                      } else {
                          //getResponse().addHeader("Content-Type", "text/html");
                         // out.println("Usage:\n\tParameter [svg]: The DOM Element to be converted." +
                         //         "\n\tParameter [type]: The destination MIME type for the elment to be transcoded.");
                      }
                      
                  } catch (Exception e) {
                      e.printStackTrace();
                  }finally{
                      try {
                          out1.flush();
                          getResponse().flushBuffer();
                          out1.close();
                          
                      } catch (Exception e2) {
                      
                      }
                      
                  }
          需要的jar包:

          posted on 2013-03-12 13:47 楊軍威 閱讀(2149) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 金坛市| 图木舒克市| 成安县| 井冈山市| 孙吴县| 内丘县| 上犹县| 金阳县| 长宁区| 民县| 绥德县| 武强县| 科技| 龙井市| 英山县| 通许县| 嘉定区| 巴彦县| 安平县| 宕昌县| 罗甸县| 烟台市| 阳城县| 普定县| 永安市| 赞皇县| 兴宁市| 绩溪县| 青海省| 赤水市| 涞水县| 西乡县| 奈曼旗| 黄梅县| 柞水县| 拜城县| 万全县| 沈阳市| 呼伦贝尔市| 荣成市| 丹江口市|