我有使用D3库生成的SVG图像,它们看起来很棒。问题是,addSVG无法使用它们。我确认经常' SVG工作,我可以做基本的形状,笔画,颜色填充。有没有办法让模式在那里?
理想情况下,我可以扩展addSVG来处理dataURIs,还是构建一个带有模式填充的CSS?
如果这不起作用,那么可能是一种解析SVG XML字符串的方法吗?
如果不是其中任何一种,有没有办法在常规'中创建一些模式?我可以用的SVG代替吗?也许现有的图书馆比D3更简单?我实际上并不需要太多。
编辑:值得一提的是,Node.js不是一个选项,外部服务器资源也不是一个选项。我将基于内部服务器的SVG保存到PNG转换器到绝对的最后一个回退。同样典型的客户端SVG到PNG转换也是不行的,我必须支持IE11,我无法解决安全性错误canvas.toDataURL抛出(我不认为'可能)。
编辑:addSVG非常基本,不支持模式和其他花哨的位。我能够使用canvg和addImage作为解决方法。答案中的链接文章不适用于IE11。
答案 0 :(得分:0)
查看<path>
的代码我发现它只对SVG提供了非常基本的支持。它只支持{{1}}元素,它们必须位于SVG的顶层。另外,它不支持改变路径颜色,它只允许“c”#c;和&#39; l&#39;路径命令。
所以对你的问题的简单回答是&#34;否&#34;。 :/
假设您不想编写自己的SVG转换器(并且没有替代插件),那么您可能不得不辞职,将SVG转换为位图并插入。
How to converted SVG Files into PDF in JSPDF using javascript