以编程方式将图形添加到PDF中从未如此简单!继续阅读,看看在这篇文章中如何使用Python做到这一点。

.ReportLab具有生成SVG的本机支持,但不支持将SVG嵌入到其PDF中。幸运的是,Dinu Gherman创建了svglib包,这是一个纯Python包,可以读取SVG文件并将其转换为ReportLab可以使用的其他格式。svglib的官方网站位于GitHub上。

svglib软件包可以在Linux,Mac OS和Windows上运行。该网站声明它适用于Python 2.7 - 3.5,但它也适用于较新版本的Python。

您可以使用svglib来读取现有的SVG文件并将其转换为ReportLab Drawing对象。svglib软件包还有一个命令行工具svg2pdf,可以将SVG文件转换为PDF。

依赖

svglib包依赖于ReportLab和lxml。您可以使用pip安装这两个软件包:

pip install reportlab lxml

安装

可以使用三种方法之一来安装svglib软件包。

安装最新版本

如果您想要从Python Packaging Index安装最新版本,那么您可以按普通方式使用pip:

pip install svglib

从源代码管理安装最新版本

如果您不想使用最新版本的代码(即出血边缘/ alpha版本),那么您可以使用pip直接从GitHub安装,如下所示:

pip install git+https://github.com/deeplook/svglib

手动安装

大多数情况下,使用点是要走的路。但是您也可以从Python Packaging Index下载tarball,并根据需要自动执行pip为您自动执行的所有步骤。只需在终端中运行以下三个命令即可:

tar xfz svglib-0.8.1.tar.gzcd svglib-0.8.1python setup.py install

现在我们已经安装了svglib,让我们学习如何使用它!

用法

在ReportLab中使用svglib实际上非常简单。您只需从svglib.svglib导入svg2rlg,并为其指定SVG文件的路径。让我们来看看:

# svg_demo.pyfrom reportlab.graphics import renderPDF, renderPMfrom svglib.svglib import svg2rlgdef svg_demo(image_path, output_path):drawing = svg2rlg(image_

python svg2rlg_使用Python和ReportLab添加SVG到PDF相关推荐

  1. python数据转换成pdf_python使用reportlab转换jpg为pdf

    今天学习Django时,无意看到了pdf的报表类库Reportlab,使用该库可以很容易的生成pdf.其中介绍最多的是将图片转换为pdf,网上也有相关的介绍(Python Reportlab转换jpg ...

  2. 【Python】使用Python对pdf,svg,png等进行转换

    Technicalflight转换工具使用Python对pdf,svg,png等进行转换 代码开源在Github:https://github.com/Technicalflight/Python-T ...

  3. pythondict增加-python字典键值对的添加和遍历方法

    添加键值对 首先定义一个空字典 >>> dic={} 直接对字典中不存在的key进行赋值来添加 >>> dic["name"]="zh ...

  4. python怎么输入空行_python如何添加空行

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我试图写入csv文件,但中间有空行. 如何删除空白行? import csvb ...

  5. Python中的PIL给图片添加文字

    与朋友在微信的聊天过程中,少不了要用一些表情包来表达自己,又可以活跃气氛.大部分表情包是由图片加上文字的结构构成.微信自带的表情包需要下载.我们可以用Python编程来往自己的照片上添加文字来生成表情 ...

  6. 【python学习】如何将字典添加到字典

    文章目录 前言 一.update() 二.** 三.| 四.collections.ChainMap 总结 前言 在本教程中,我们将讨论在 Python 中将字典附加到另一个字典的不同方法. 一.up ...

  7. python打印电子标签--ghostscript 和reportlab实现

    最近公司有一个项目,在仓库中对瓜果蔬菜按照规格打包,打包以后需要称重贴上标签.标签上有条形码,商品编码,商品名称,重量,操作员姓名等信息,这些信息存储在后台数据库中.这本来是一个cs架构的应用,在桌面 ...

  8. 给Python漫画分集标题下载工具添加线程

    前情概要: 上一章,我们给这个python漫画分集标题下载工具添加了Qt界面,使用的是PySide6,大家看源码或许就可以看出来了,除了python语法不同之外,整个Qt库的使用和C++的使用几乎没什 ...

  9. 通过Python的PIL库给图片添加马赛克

    文章目录 前言 一.Pillow是什么? 二.安装PIL库 三.查看PIL库版本 四.使用方法 1.引入库 2.定义图片路径 3.打开需要打马赛克的图片 4.获取图片尺寸 5.创建一个新的图片对象 6 ...

最新文章

  1. 老而不死的三种编程语言!
  2. (转载)NSOperation and NSOperationQueue教程(翻译)
  3. 自定义拦截器Interceptor
  4. 16、Flutter Widget - PageView;
  5. java线程视频教程_java线程视频教程
  6. 被称为“Google 最大黑科技”,开发谷歌大脑,这位 AI 掌门人到底有多牛?
  7. 鲁棒控制(Ⅰ)—LMI处理方法
  8. Python菜鸟教程第二十课之初识Django
  9. 用户画像及项目实例:电商用户画像
  10. 论文笔记之:Co-saliency Detection via A Self-paced Multiple-instance Learning Framework
  11. python字符类型是英文_Python中常见数据类型
  12. torchvision.datasets.FashionMNIST报错[WinError 10054] 远程主机强迫关闭了一个现有的连接
  13. vivo手机拍照有什么技巧,如何拍出精美照片?
  14. python命令行操作:Click包
  15. 淘宝商品详情,1688商品详情滑块的解决方法和接口
  16. 传感器怎么获取障碍物的宽度信息_基于多传感器信息融合的机器人障碍物检测...
  17. 前端系列第10集-实战篇
  18. sts工具如何配置mvn,解决settings.xml文件配置问题
  19. java学习四个月以来的想法
  20. 2014美国大学计算机科学专业排名,2014年美国大学计算机科学专业排名.doc

热门文章

  1. class ATwhere T:new()是什么意思
  2. 10分钟读懂到底什么是大数据?
  3. android 闪光灯(手电筒)工具类,兼容android9.0
  4. JavaMe中的jad文件问题
  5. 你真的知道什么是 Python“命名空间” 吗?
  6. php的前端组件化,简要剖析PHP的Yii框架的组件化机制的基本知识
  7. dell服务器安装2003系统,戴尔/Dell 12G服务器安装Windows 2003操作系统
  8. Homebrew安装AdoptOpenJDK8的几个注意事项(有更新)
  9. qesa Efficient zero-knowledge arguments in the discrete log setting 学习笔记
  10. Log4Net使用指南