CairoSVG 是一个基于 Cairo 的 SVG 转换器。它可以将 SVG 文件导出为 PDF、EPS、PS 和 PNG 文件。它为 Linux、macOS 和 Windows 提供命令行界面和 Python 3.6+ 库。
安装
CairoSVG 在 PyPI 上可用,可以使用 pip 安装它:
$ pip3 install cairosvg
当前版本的 CairoSVG 至少需要 Python 3.6,它不适用于 Python 2.x。旧版本的 CairoSVG (1.x) 可与 Python 2.x 一起使用,但不再受支持。
命令行
这是简单的 CairoSVG 命令行用法:
$ cairosvg --help
usage: cairosvg [-h] [-v] [-f {pdf,png,ps,svg}] [-d DPI] [-W WIDTH]
[-H HEIGHT] [-s SCALE] [-u] [--output-width OUTPUT_WIDTH]
[--output-height OUTPUT_HEIGHT] [-o OUTPUT]
input
Convert SVG files to other formats
positional arguments:
input input filename or URL
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-f {pdf,png,ps,svg}, --format {pdf,png,ps,svg}
output format
-d DPI, --dpi DPI ratio between 1 inch and 1 pixel
-W WIDTH, --width WIDTH
width of the parent container in pixels
-H HEIGHT, --height HEIGHT
height of the parent container in pixels
-s SCALE, --scale SCALE
output scaling factor
-u, --unsafe resolve XML entities and allow very large files
(WARNING: vulnerable to XXE attacks and various DoS)
--output-width OUTPUT_WIDTH
desired output width in pixels
--output-height OUTPUT_HEIGHT
desired output height in pixels
-o OUTPUT, --output OUTPUT
output filename
Python
CairoSVG 为 Python 3.6+ 提供了一个模块。
该cairosvg
模块提供4个功能:
-
svg2pdf
-
svg2png
-
svg2ps
-
svg2svg