客户端导出指的是不需要提交数据到导出服务器,直接在浏览器上可以将图表导出为常见图片文件或 PDF 文档。以下情况非常适合使用客户端导出:

  • 不希望将图表数据或图表配置发送到我们的导出服务器
  • 希望省去自己配置导出服务器
  • 不需要在低版本 IE (IE9及以下)浏览器上使用导出功能
    在线试一试

客户端导出功能模块使用现代浏览器技术来完成相关的功能,因此某些功能在低版本的浏览器上是无法正常使用的,对于不支持的浏览器,我们默认会回退到提交数据到导出服务器,可以通过 exporting.fallbackToExportServer 来关闭行为,关于客户端导出在不同浏览器中的兼容详情请参考下方的表格。

IE 浏览器导出 PNG 格式图片或包含图片的图表时需要额外的 canvg 库;所有浏览器导出 PDF 文件都需要 jsPDFsvg2PDF 库,默认情况下,这些文件会根据需求从我们的服务器上加载,可以通过 exporting.libURL 配置来指定加载这些文件的地址。如果页面中已经加载过这些文件,Highcharts 将不会再次加载。

如果图表中包含图片,那么导出 PDF 时都会回退到导出服务。

使用客户端导出很简单,只需要引入图表导出功能相关的文件即可,需要引入的文件如下所示:

  1. <script src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>
  2. <script src="http://cdn.hcharts.cn/highcharts/modules/exporting.js"></script>
  3. <script src="http://cdn.hcharts.cn/highcharts/modules/offline-exporting.js"></script>

浏览器兼容性

下表为客户端导出功能在不同浏览器下的兼容性情况:

文件格式 浏览器 Chrome(最新版) Firefox(最新版) 微软 Edge IE 11 IE 10 Safari(最新版) Safari 5.1 Android(最新版) Android (4.0) Chrome安卓版 iOS ChromeiOS 版
SVG
——-
支持 支持 支持 支持 支持 新窗口中以 data URL 的形式打开 以 data URL 形式开发 支持 以 data URL 形式开发 支持 新窗口中以 data URL 的形式打开 在新窗口中以 data Blob 形式打开
PNG、JPEG
——-
支持 支持 回退到导出服务器 支持 支持 以 data URL 的形式打开 以 data URL 的形式打开 支持 以 data URL 的形式打开 支持 以 data URL 的形式打开 在新窗口中以 data Blob 形式打开
PDF
——-
支持 支持 回退到导出服务器 回退到导出服务器 回退到导出服务器 以 data URL 的形式打开 回退到导出服务器 支持 回退到导出服务器 支持 回退到导出服务器 回退到导出服务器
SVG (包含相同域图片)
——-
支持 支持 支持 支持 支持 以 data URL 的形式打开 以 data URL 的形式打开 支持 以 data URL 的形式打开 支持 以 data URL 的形式打开 在新窗口中以 data Blob 形式打开
PNG、JPEG(包含相同域图片)
——-
支持 支持 回退到导出服务器 回退到导出服务器 回退到导出服务器 以 data URL 的形式打开 图片质量不佳 支持 以 data URL 形式打开 支持 以 data URL 的形式打开 在新窗口中以 data Blob 形式打开
SVG(包含跨域图片)
——-
支持 支持 支持 回退到导出服务器 回退到导出服务器 以 data URL 的形式打开 回退到导出服务器 支持 回退到导出服务器 支持 回退到导出服务器 回退到导出服务器
PNG、JPEG(包含跨域图片)
——-
支持 支持 回退到导出服务器 回退到导出服务器 回退到导出服务器 以 data URL 的形式打开 回退到导出服务器 支持 回退到导出服务器 支持 回退到导出服务器 回退到导出服务器

注意事项

  • IE 9 及以下的浏览器将会直接回退到导出服务器
  • 导出 PDF 时中文渲染出错,这是因为客户端导出 PDF 使用的库 jsPDF 不支持中文, 详见 Github IssuesjsDPF issues

原文: https://www.hcharts.cn/docs/client-side-export