CairoSVG

矢量图片转换工具
授权协议 LGPLv3
开发语言 Python
所属分类 应用工具、 图形和图像工具
软件类型 开源软件
地区 不详
投 递 者 胡星汉
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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
  • 1 CairoSVG介绍 代码下载地址 CairoSVG是一个将SVG1.1转为PNG,PDF, PS格式的转化。SVG算目前火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形,但是SVG要专用软件才能编辑打开,通过CairSVG我们就能将SVG格式转换为常用的格式。它为类Unix操作系统(至少Linux和macOS)和Windows提供了

  • 在使用pygal的过程中,图片默认保存的是svg格式,如果需要生成本地的图片需要进行一些配置。下面是在摸索时的一些流程: 1.查看pygal的函数,dir(pygal.bar),发现其支持保存为png图片的,提供现有函数pygal.Bar.render_to_png(),但是在直接应用会报错,提示没有安装cairosvg安装包。 2.安装cairosvg,完成后import cairosvg发现缺

  • yum install -y build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info pip3 in

  • pygal转png需要安装cairosvg pip安装cairosvg出错,查找发现原因为缺少依赖 sudo apt install python3-lxml sudo apt install python3-dev sudo apt install libffi-dev sudo apt install libcairo2

  • 简述 在爬取某些网站的Icon时。发现Icon为svg标签,并不能以图片形式下载,便将svg标签直接存为.svg文件,后使用CairoSVG将其转变为PNG图片。 CairoSVG安装 CairoSVG是SVG到PNG,PDF,PS和SVG的转换器 在Windows上,你必须安装适用于Python和Cairo的Visual C ++编译器; 在macOS上,你必须安装cairo和libffi (例

  • CairoSVG - Convert SVG to PNG or PDF - Contents CairoSVG - Convert SVG to PNG or PDF - Contents User Documentation Author Guillaume Ayoub Date 2011-02-13 This document is a short description for insta

 相关资料
  • 我有一个相机旋转矩阵3x3,然后我用罗德里格斯函数从旋转矩阵中得到旋转矢量,但是它给出的结果像,但是OpenGL函数需要度数。我认为是归一化的,我应该把每个元素乘以360来得到度数。但是OpenCV和OpenGL之间也有坐标系的差异。我如何在OpenGL坐标系中获得度数的旋转矢量?

  • 利用操控变形功能,您可以扭转和扭曲图稿的某些部分,使变换看起来更自然。您可以使用 Illustrator 中的操控变形工具添加、移动和旋转点,以便将您的图稿平滑地转换到不同的位置以及变换成不同的姿态。 选择要变换的图稿。 从工具栏中选择“操控变形”工具。 默认情况下,Illustrator 可识别用于变换图稿的相应区域,并自动向图稿中添加多个字,以便通过最合适的方式来对图稿进行变形。选择操控变形工

  • 问题内容: 我将JComboBox与自定义类对象一起使用,并且equals方法被覆盖,并且非常深入地集成到代码中。 问题是,如果在JComboBox下拉列表中两个对象相等,那么如果选择了一个,则全部选中,并且get selected索引返回-1。 有没有一种方法可以将a强制转换为a ?我试过了 和 其中是的父项,是的扩展项,但它们都不编译。 我需要的只是JComboBox,不要使用重写的equal

  • 矢量瓦片是将矢量数据通过不同的描述文件来组织和定义,在客户端实时解析数据和完成绘制。SuperMap iServer 提供了矢量瓦片图层源,即 ol.source.VectorTileSuperMapRest.optionsFromMapJSON(url,mapJSONObj) 其中: url:地图服务地址 mapJSONObj:地图JSON对象(由 getMapInfor() 方法返回的 JSO

  • 在上一章中,我们学习了如何在Leaflet中使用标记。 除了标记,我们还可以添加各种形状,如圆形,多边形,矩形,折线等。在本章中,我们将讨论如何使用Google地图提供的形状。 Polyline 要使用Leaflet JavaScript库在地图上绘制折线叠加层,请按照以下步骤操作 - Step 1 - 通过传递“ div ”元素(字符串或对象)和映射选项(可选)来创建Map对象。 Step 2

  • 问题内容: 我对(N,)维数组和(N,1)维数组之间的转换有疑问。例如,y是(2,)维。 但是下面将显示y2为(2,1)维。 在不复制的情况下将y2转换回y的最有效方法是什么? 谢谢汤姆 问题答案: 为此工作 还请注意,除非需要复制新形状(在这里不需要这样做),否则它不会复制数据: