Javascript Canvg |如何在从SVG创建画布元素的过程中设置画布元素的样式?
我有一个从数据中动态绘制的SVG图形。看起来是这样的: 我正在使用Canvg创建一个(隐藏的)画布元素,并允许用户将SVG保存为图像或pdf。画布如下所示: 样式错误(!),某些路径似乎也丢失。我已经尝试使用CSS来更改样式。这适用于背景颜色和字体系列,但不适用于其他任何内容:Javascript Canvg |如何在从SVG创建画布元素的过程中设置画布元素的样式?,javascript,css,canvas,svg,canvg,Javascript,Css,Canvas,Svg,Canvg,我有一个从数据中动态绘制的SVG图形。看起来是这样的: 我正在使用Canvg创建一个(隐藏的)画布元素,并允许用户将SVG保存为图像或pdf。画布如下所示: 样式错误(!),某些路径似乎也丢失。我已经尝试使用CSS来更改样式。这适用于背景颜色和字体系列,但不适用于其他任何内容: canvas#canvas { background-color: aliceblue;//works font-family: sans-serif;//works font-size: 1
canvas#canvas {
background-color: aliceblue;//works
font-family: sans-serif;//works
font-size: 10px;//works
fill: gray;//doesn't work
}
有人知道如何在使用canvg创建画布元素时设置路径和字体颜色的样式吗 可以使用
printThis
库将SVG的div另存为pdf。
div ID可用于将SVG转换为pdf。
例如:如果divID是svgdiv
,则可以在jquery中执行此语句:
$("#svgdiv").printThis()
它将以pdf格式下载
有关更多信息:canvg有漏洞。。。我认为您应该尽可能避免使用CSS和任何
xlink:href
属性或url()
属性,以便尽可能准确地呈现它。另外,我们可能有兴趣知道您是否使用库来生成svg,也许这个库有一个导出模块,您可以使用。谢谢Kaido-我使用的是d3.js。我没有使用xlink或url()属性。我只是在尝试CSS,因为没有它看起来更糟!那么,我不知道这里的canvg差距是什么。。。你可以试试我在写什么,这样会更好。您可以像exportInlineSVG(yourSVGElement,receiver)
那样调用它,receiver
可以是画布元素、img元素或带有dataURL和canvas元素作为参数的calback函数。这在不久的将来可能会改变,但您可以调整代码。