方案一:
在exporting.js中找到enctype:"multipart/form-data", 在后面增加上“,encoding: 'multipart/form-data'”。
方案二:
自己建Servlet导出。
batik的jar包这里有下载http://blog.renren.com/share/225362267/6752347325
servlet类:
import java.io.IOException; import java.io.StringReader; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.batik.transcoder.Transcoder; import org.apache.batik.transcoder.TranscoderException; import org.apache.batik.transcoder.TranscoderInput; import org.apache.batik.transcoder.TranscoderOutput; import org.apache.batik.transcoder.image.JPEGTranscoder; import org.apache.batik.transcoder.image.PNGTranscoder; import org.apache.fop.svg.PDFTranscoder; /** * Servlet implementation class for the batik Transcoder */ public class HighChartsServlet extends HttpServlet { private static final long serialVersionUID = 3920224595120519682L; public HighChartsServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ request.setCharacterEncoding("utf-8");//注意编码 String type = request.getParameter("type"); String svg = request.getParameter("svg"); ServletOutputStream out = response.getOutputStream(); if (null != type && null != svg){ // This line is necessary due to a bug in the highcharts SVG generator for IE // I'm guessing it wont be needed later. 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("application/pdf")) { ext = "pdf"; t = new PDFTranscoder(); } else if (type.equals("image/svg+xml")) { ext = "svg"; } response.addHeader("Content-Disposition", "attachment; filename=chart."+ext); response.addHeader("Content-Type", type); if (null != t){ TranscoderInput input = new TranscoderInput(new StringReader(svg)); TranscoderOutput output = new TranscoderOutput(out); try { t.transcode(input,output); } catch (TranscoderException e){ out.print("Problem transcoding stream. See the web logs for more details."); e.printStackTrace(); } } else if (ext == "svg"){ out.print(svg); } else { out.print("Invalid type: " + type); } } else { response.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."); } out.flush(); out.close(); } }
web.xml中配置下serlvet:
<!--begin exporter highcharts-->
<servlet>
<servlet-name>HighChartsServlet</servlet-name>
<servlet-class>com.friendone.mrms.ws.material.HighChartsServlet</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HighChartsServlet</servlet-name>
<url-pattern>/getHighchartServlet</url-pattern>
</servlet-mapping>
<!--over exporter highcharts-->
然后修改highcharts的exporting.js:
url: 'http://export.highcharts.com/'改为本地的servlet地址
url:"http://localhost:8080/cmrm/getHighchartServlet"
这就可以本地导出图片了,在servlet里可以自己设置编码消除中文乱码。
相关推荐
今天在研究Highcharts导出图片中文乱码的问题,不用官方的方式导出,所以整理之类使其在ASP.NET下载支持中文的导出
NULL 博文链接:https://jstree.iteye.com/blog/1586623
整理的highcharts本地导出图片功能,其中的export项目可以直接运行
关于HighCharts导出模块的 Net版的导出服务 GitHub里下载的 https://github.com/imclem/Highcharts-export-module-asp.net 把里面用到的 (sharpPDF.dll) (Svg.dll) 源码也怎和在一起了,有兴趣可以看看; 之前也下...
Highcharts 导出图片,具体的图片导出的代码,带吗代码代码代码
无需使用导出服务器,直接在客户端中导出highcharts所绘的图像,速度相当快
HighCharts导出图片是发现请求的是官网,于是找了一下,整理了这个导出请求本地服务导出png、jpg、svg和pdf的demo (GitHub里找的 https://github.com/imclem/Highcharts-export-module-asp.net 把里面用到的 (sharp...
包括Java导出Highcharts需要的4个jar包(其中highcharts-downimage.jar是下载图像的实现类,已经编译,并包含源码,其它3个jar包是相关引用类),以及struts配置。 使用时,只要将common_struts.xml加入struts配置...
GitHub上.Net版HighCharts导出图片的服务,整理成了一个工具类和Demo页面 博文:http://www.cnblogs.com/cl-blogs/p/5298013.html
highcharts在linux下保存图片乱码的解决办法
highcharts默认的导出需要连接到官网,此代码是导出服务器的asp mvc实现
HighCharts导出图片是发现请求的是官网,于是找了一下,整理了这个导出请求本地服务导出png、jpg、svg和pdf的demo (GitHub里找的 https://github.com/imclem/Highcharts-export-module-asp.net 把里面用到的 (sharp...
在不联网的情况下,导出图片,导出excel数据
highcharts 导出图片 .net c#Demo例子
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。目前HighCharts支持的图表类型有曲线图、...
highcharts ,本地导出图片 ,服务端代码,报表统计,Highcharts 的 API 和丰富多样的实例图表意味着我能飞速投入工作之中,一言以蔽之,选择 Highcharts 准没错!
使用highcharts.js导出图片时需要的dll
highcharts导出图片的后台代码,这样就不用从highcharts官网服务器上进行图片导出了,成了一个本地的服务器!
运用highcharts制作报表,并且实现了本地导出报表图片。
Highcharts .net(C#)导出图片 支持中文 svg转jpg,png,pdf,svg等