有没有办法使用jsPDF的addSVG使用模式/纹理?

我有使用D3库生成的SVG图像,它们看起来很棒。 问题是,addSVG不能使用它们。 我证实'常规'SVG的工作,我可以做基本的形状,笔画,颜色填充。 有没有办法让模式在那里?

理想情况下,我是否可以扩展addSVG来处理dataURIs,或者可以使用模式填充来构建CSS?

如果这不起作用,那么可能是一种解析SVG XML字符串的方法吗?

如果不是其中的任何一种,有没有办法在“常规”SVG中创建一些可替代的模式? 也许有一个比D3更简单的现有库? 我其实不需要太多。

编辑:值得一提的是,Node.js不是一个选项,外部服务器资源也不是真正的选项。 我正在将基于服务器的内部SVG保存到PNG转换器,以保证最后一次回退。 另外,典型的客户端SVG到PNG转换也是不行的,我必须支持IE11,并且我无法绕过安全错误canvas.toDataURL抛出(我不认为这是可能的)。

编辑:addSVG是非常基本的,不支持模式和其他花哨的比特。 我能够使用canvg和addImage作为解决方法。 链接的文章在答案不适用于IE11。


看看addSVG()的代码,我发现它只对addSVG()有非常基本的支持。 它只支持<path>元素,它们必须位于SVG的顶层。 另外,它不支持改变路径颜色,它只允许'c'和'l'路径命令。

所以对你的问题的简单回答是“不”。 :/

假设你不想编写你自己的SVG转换器(并且没有替代插件),那么你可能不得不自己将SVG转换为位图并插入它。

如何使用javascript在JSPDF中将SVG文件转换为PDF

链接地址: http://www.djcxy.com/p/77335.html

上一篇: Is there a way to use patterns/textures using addSVG for jsPDF?

下一篇: Converting svg to canvas and get the base64 String (canvg)