无法在IE中下载SVG作为PNG

时间:2018-01-16 13:00:34

标签: angular typescript d3.js svg png

我在d3中创建了一个图表。根据我的要求,我必须允许在所有浏览器中以PNG格式下载。我正在使用saveSvgAsPng.js。

saveSvgAsPng(document.getElementById("sample"), "sample.png", { width: '50%' });

我可以在Chrome和Firefox中下载,但我无法在IE中下载。

在检查控制台时,我收到以下错误:

  

enter image description here的未知字体格式;   字体可能无法正常工作

     

无法在此浏览器中下载渲染的SVG图像。

我不知道是否遗漏了任何要传递的参数。

1 个答案:

答案 0 :(得分:1)

根据saveSvgAsPng GitHub

  

Internet Explorer仅在传入canvg时有效,否则在写入的画布上调用toDataURL时会抛出SecurityError。 [...]

因此,您必须包含脚本canvg,然后将其作为参数传递

var svg = document.querySelector('sample');
saveSvgAsPng(svg, "sample.png", {canvg:window.canvg});