使用canvg库并按照此帖子的步骤:https://github.com/niklasvh/html2canvas/issues/95#issuecomment-34439223
原始svg:
结果:
将css样式压缩到
<svg>
标签中,然后调用canvg,按照此帖子的步骤:Convert embedded SVG to PNG in-place结果:一张空白图片。
将css样式压缩到
<svg>
标签中,然后手动将svg绘制到画布上,按照此帖子的步骤:how to save/ export inline SVG styled with css from browser to image file结果:一张空白图片。
使用以下代码将css样式压缩到内联样式表中:http://spin.atomicobject.com/2014/01/21/convert-svg-to-png/
结果:一张空白图片。
使用svg crowbar手动将
<div>
元素下载为.svg文件。结果:
然后,当我比较原始svg的计算css与下载的svg时,我发现下载的svg具有正确的svg xml,但是错误的内联样式表(
<style type="text/css">
)例如图表右侧的200、300数字,它们是用<text x="214" dy=".32em" y="0" style="text-anchor: start;">200</text>
绘制的,在我的外部css中,我有:.scatterChart .axisGraphicsContext text { font-size: 8px; fill: #777; }
然而,下载的svg的字体大小和填充属性在内联样式表中缺失。