2016-09-16 33 views
2

我有一个JavaScript图表。我想让它以各种格式下载,例如。 png,jpg,jpeg,pdf
如何在客户端做到这一点?因为我不想加载我的服务器的处理能力。
谢谢将图表下载为图片

+0

更具体!你的图表是什么样子?画布,SVG,HTML?向我们展示一些代码......这就像说:“我得到了一桶颜色,我应该混合什么颜色才能使它变成紫色?” – Endless

+0

如果使用谷歌图表,请参阅'getImageURI' – WhiteHat

+0

我正在使用chartjs –

回答

0

我想你可以制作一个div或HTML标记的截图,用来显示图表并让用户下载它。

使用html2canvasFileSaver.js

$(function() { 
    $("#btnSave").click(function() { 
     html2canvas($("#widget"), { 
      onrendered: function(canvas) { 
       canvas.toBlob(function(blob) { 
        saveAs(blob, "Image.png"); 
       }); 
      } 
     }); 
    }); 
}); 

一旦按下与ID按钮btnSave它转换部件div来canvas元素,然后使用另存为()通过FileSaver.js FileSaver接口(在浏览器的本机不支持)将div保存为名为“Image.png”的图像。

FileSaver.js可能无法在所有浏览器上正常工作。有些可能不会自动启动下载,有些可能会在其他选项卡中显示图像。但我仍然认为这是一个很好的解决方案。

如果图表已经是画布,则不需要将其转换为画布并忽略html2canvas部分。