Bas*_*asj 5 python windows svg cairo
问题:哪个可重现的过程可以使 Windows Python 用户将 SVG 图像渲染为 PNG?
许多问题/答案(例如Convert SVG to PNG in Python和Server-side SVG to PNG (or some other image format) in python,由于下面解释的原因,它们不重复)解释了如何使用 Python 将 SVG 转换为 PNG .
不幸的是,它们都不能用于 Python + Windows。经过 20 多分钟,以及许多不同的尝试,我仍然无法做到。有关失败尝试的更多详细信息:
cairo在 Windows 上安装并不简单,我们必须使用 Gohlke 的二进制文件在 Windows 上使用 Python 3.7 安装 pycairo:
pip install pycairo-1.20.0-cp37-cp37m-win_amd64.whl
Run Code Online (Sandbox Code Playgroud)
甚至有一次cairo安装,rsvg(从主答案为PNG(或其他图像格式)的Python服务器端SVG,转换SVG至PNG在Python)不适用于Windows:
pip install rsvg # or pyrsvg
> ERROR: No matching distribution found for pyrsvg
Run Code Online (Sandbox Code Playgroud)
与解决方案svglib或reportlab不工作外的开箱上Python3 + Windows系统:
from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF, renderPM
drawing = svg2rlg("a.svg")
renderPM.drawToFile(drawing, "file.png", fmt="PNG")
Run Code Online (Sandbox Code Playgroud)
的确:
AttributeError: 'Image' object has no attribute 'fromstring'
Run Code Online (Sandbox Code Playgroud)
因此,特定于 Windows 的解决方案会有所帮助。
| 归档时间: |
|
| 查看次数: |
1156 次 |
| 最近记录: |