无法使用 svglib 将 svg 转换为 png

sha*_*ade 5 svg python-3.x

当我将 svg 转换为 png 时,我收到不完整的 png 文件和错误。请有人帮忙。

from reportlab.graphics import renderPM
from svglib.svglib import svg2rlg

svg_file = 'svgfile.svg'

drawing = svg2rlg(svg_file)
renderPM.drawToFile(drawing, "new_file.png", fmt="PNG")
Run Code Online (Sandbox Code Playgroud)
Can't handle color: url(#a)
Can't handle color: url(#b)
Can't handle color: url(#c)
Run Code Online (Sandbox Code Playgroud)

dsa*_*ves 3

不确定这对您的情况是否有帮助,但它回答了我的问题(相同的“无法处理颜色:url(...)”消息。

来自svglibPyPi 文档(https://pypi.org/project/svglib/):

不支持颜色渐变(reportlab 的限制)

就我而言,这些颜色是渐变的,因此我将把 svg 转换为侧面的 png,然后通过我的 Python 脚本将 png 图像嵌入到 pdf 中。这不是我想要的理想结果,但这个 png 解决方法足以满足我的要求。