【发布时间】:2018-11-08 15:47:59
【问题描述】:
我有一个 SVG 文件,我想将其转换为 PDF 格式。
它在我的浏览器(chrome、edge、firefox)上渲染得很好。 此处提供文件:https://gist.github.com/acourdavault/329b8670517e0716cd38eab202e2ca0e
我尝试了 magick、inkskape、librsvg2 将其转换为 png 和/或 pdf。 最大的问题是不支持 stop-color 和 stop-color-opacity 注意,这里只有inkscape给出这个消息,其他转换器不给出任何信息,即使是详细但结果很糟糕 ```重击
** (inkscape:648850):警告**:未实现的样式属性 SP_PROP_STOP_COLOR:值:#ffa500
** (inkscape:648850):警告**:未实现的样式属性 SP_PROP_STOP_OPACITY:值:0.59999999999999998
** (inkscape:648850):警告**:未实现的样式属性 SP_PROP_STOP_COLOR:值:#ffff00 ```
我猜 PDF(以保持矢量格式)将是理想的, 但我需要能够从命令行运行它。
您知道为什么,这不起作用以及如何解决它吗?
备注我使用 SVG 类,但样式在 SVG 本身的样式中
解决方案
来自 ccprog 的解决方案
我移动了 svg xml 顶部的 defs, 我使用 fill=url(#gradientid) 来声明渐变而不是类 我替换了类中 where 的 stop-color 和 stop-opacity 的定义,将它们内联在停止标记中。
【问题讨论】:
-
如果仅用于该单个图形,您也可以从浏览器打印到文件。例如,Inkscape 可以导入创建的 pdf(使用 poppler/cairo 选项在我的测试中得到了更好的结果)。