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 楊軍威 閱讀(2150) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 盐津县| 汾阳市| 登封市| 含山县| 电白县| 防城港市| 东兰县| 郓城县| 仙游县| 长宁县| 砀山县| 宁乡县| 穆棱市| 曲阳县| 云阳县| 城固县| 平乐县| 绥德县| 榆林市| 井研县| 谷城县| 揭东县| 泸溪县| 东明县| 彰武县| 伽师县| 黔西县| 吉安市| 南皮县| 格尔木市| 巴彦县| 霍州市| 罗平县| 东乌珠穆沁旗| 德兴市| 万盛区| 宁武县| 长沙市| 云浮市| 皮山县| 乌拉特前旗|