python图片转svg_Python3 SVG 转 PDF PNG JPG 等格式文件

对于矢量图形格式svg,最近需要一个转换到其它图像格式的需求。打算用python实现。

网上看了不少资料,大多的解决方案是用 GTK+ (cairo),inkscrape,等系统tools-kit来转.非常的麻烦。

庆幸自已相信有更方便的办法,继续寻找与尝试着。最后发现python有纯py的库就能完成这类功能。那就是svglib。

首先 pip install svglib

然后数行代码就能搞定,非常棒。记录与分享于此。py2 py3 都能兼容import svglib

from svglib.svglib import svg2rlg

from reportlab.graphics import renderPDF, renderPM

drawing = svg2rlg("drawing.svg")

renderPDF.drawToFile(drawing, "drawing.pdf")

renderPM.drawToFile(drawing, "fdrawing.png", fmt="PNG")

renderPM.drawToFile(drawing, "drawing.jpg", fmt="JPG")

#改一下svg源文件路径,直接运行测试一下就可以了。

另附一个svg文件(代码),可用来测试。粘贴到空白文本文件存成.svg文件即可。<?xml version="1.0" standalone="no"?>

ttp://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

xmlns="http://www.w3.org/2000/svg" version="1.1">

Example arcs01 - arc commands in path data

Picture of a pie chart with two pie wedges and a picture of a line with arc blips

fill="none" stroke="red" stroke-width="5" />

对于矢量图形格式svg,最近需要一个转换到其它图像格式的需求。打算用python实现。 网上看了不少资料,大多的解决方案是用 GTK+ (cairo),inkscrape,等系统tools-kit来转.非常的麻烦。 庆幸自已相信有更方便的办法,继续寻找与尝试着。最后发现python有纯py的库就能完成这类功能。那就是svglib。 首先 pip install svglib 然后数行代码就能搞定,非常棒。记录与分享于此。py2 py3 都能兼容import svglib from svglib.svglib import svg2rlg from reportlab.graphics import renderPDF, renderPM drawing = svg2rlg("drawing.svg") renderPDF.drawToFile(drawing, "drawing.pdf") renderPM.drawToFile(drawing, "fdrawing.png", fmt="PNG") renderPM.drawToFile(drawing, "drawing.jpg", fmt="JPG") #改一下svg源文件路径,直接运行测试一下就可以了。 另附一个svg文件(代码),可用来测试。粘贴到空白文本文件存成.svg文件即可。 ttp://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> xmlns="http://www.w3.org/2000/svg" version="1.1">Example arcs01 - arc commands in path data Picture of a pie chart with two pie wedges and a picture of a line with arc blips fill="none" stroke="red" stroke-width="5" />
经验分享 程序员 微信小程序 职场和发展