简述

reportlab.graphics子程序包是作为一组独立程序开始的。 今天,它已完全集成到ReportLab工具包的其余部分中。 图形子软件包为开发人员提供了一组强大的功能,可用于创建图表和图形,从而增强您的PDF和以编程方式生成的报告。

什么是绘制?

ReportLab对图形的定义是与平台无关的一组形状描述。 这意味着图形实际上并未与文件格式(例如PDF或PostScript)相关联。 从好的方面来说,大多数创建矢量图形的系统都遵循Postscript使用的模型,因此实际上很容易描述图形。 定义图形很重要的原因是,我们需要一种以明确的方式描述程序中形状的方法。

所有工程图都包含形状。 您在小学时学到的图形(即矩形,直线,圆形)可以用来创建大多数其他图形。 在计算机程序中还会看到另一种形状,称为“组”,它是可以通过转换操作的其他形状的容器。 如果您曾经使用过Microsoft Publisher或Adobe Photoshop,则可能会看到可以对图像进行分组,然后将它们作为一个整体进行处理(即调整组的大小,翻转或旋转它们等)。 这就是我提到转换一词时的意思。

ReportLab的渲染器

ReportLab有多个渲染器,可用于绘制图形。 换句话说,ReportLab可以获取您的图形并以不同的格式输出它们。 如您所料,ReportLab可以使用renderPDF渲染器以PDF输出图形。 您还可以通过renderPS输出Postscript,并通过renderPM输出位图。 通过Raph Levien的libart光栅化程序和Fredrik Lundh的Python Imaging Library(PIL)可以实现位图渲染。 但是请注意,您无法在Python 3中安装PIL。相反,ReportLab为此使用了Alex Clark的PIL分支Pillow。 实际上,您可以将Pillow用于Python 2.7,并将其作为Python Imaging Library的“友好分支”,这意味着其API与PIL的API相同。 还有一个实验性的SVG渲染器,它使用Python自己的内置XML模块。 这一切意味着,如果您安装了所有这些扩展,则应该能够以几种不同的格式生成相同的图形。

ReportLab中的工程图也是可流动的,因此您可以像其他任何可流动的一样将它们添加到Platypus文档中。 如果需要,您也可以直接在ReportLab Canvas对象中绘制图形。 另一个简洁的功能是,您可以使用实用程序功能快速生成图纸的一页PDF!

顺便说一句,我提到的SVG渲染器尚未应用任何优化,它只能使用ReportLab Graphics提供的绘图功能。 这意味着ReportLab中的SVG格式不完整。 您将无法制作SVG动画,脚本,剪辑,蒙版或渐变形状。

坐标系

“图形”子程序包使用ReportLab默认使用的相同坐标系,即Y方向从下至上。 一些图形模型(即SVG)使用相反的坐标系,其中Y坐标指向下方。 ReportLab提供的SVG渲染器将根据需要翻转事物以使其看起来正确。

X坐标仍然像从ReportLab的其余部分一样从左到右。

简单绘制

在获得所有这些信息之后,您可能会开始怀疑我们是否能够真正学习如何在ReportLab中进行绘制。 您会很高兴知道那个时刻已经到了。 让我们使用ReportLab的“图形”子包创建一个简单的图形!

代码略

这将在您的PDF中输出以下内容:

详情参阅 - 亚图跨际

Python使用Reportlab处理PDF数据 - 图形和图表相关推荐

  1. Python使用Reportlab处理PDF数据 - 其他可流动(flowable)

    简述 ReportLab还可以使用其他几个Flowable. 在本本中,我们将研究以下Flowable: Preformatted XPreformatted Image Spacer PageBre ...

  2. Python使用Reportlab处理PDF数据 - 自定义页眉和页脚

    有许多文档和报告要求您在首页或每页上都有页眉. 例如,如果您要为律师或法官生成报告,那么几乎可以肯定,所有页面上都需要合伙人信息. 在大多数医疗机构或医院中生成报告时也是如此. 他们的固定器必须以某种 ...

  3. python绘制折线图显示数据_漂亮图表也可用python信手拈来!一文教你学会用Python绘制堆积折线图...

    今天,和大家聊聊关于Python绘图相关的东东哦,还是和大家继续深耕Python经典的matplotlib库哦! 好啦,咱们就开始吧! 首先,咱们聊聊如何在Python中去绘制经典的堆积折线图 到这可 ...

  4. python 柱状图设置样式_python数据可视化之图表样式调整(三)

    适当的调整图表样式可以大大增强图表"讲故事"的能力.实际工作中可能需要调整很多东西,因此本篇不可能涵盖所有图表样式.本篇将介绍一些最有用的基本知识:更改图形大小.颜色和字体大小;加 ...

  5. 【Python办公自动化】使用reportlab制作pdf报告

    原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接.作者信息和本声明. Python使用folium制作地图并生成png图片 第一章 folium的方法和类的介绍(思维导图) 第二章 ...

  6. python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;

    python使用fpdf生成pdf文件章节(chapter),包含:页眉.页脚.章节主题.数据排版等: #仿真数据 The year 1866 was marked by a bizarre deve ...

  7. python库Camelot从pdf抽取表格数据以及python库camelot安装及使用中的一些注意事项

    一.python库camelot安装及使用中的一些注意事项 1)camelot方法有两种解析模式:流解析(stream).格子解析(lattice),其中格子解析能够保留表格完整的样式,对于复杂表格来 ...

  8. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  9. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

最新文章

  1. keras 的 example 文件 imdb_fasttext.py 解析
  2. SQLite 日期类型(转)
  3. 详解Python开发的发展方向及其对应的薪资!
  4. 网页编程中的模态对话框
  5. vnc远程无法关闭窗口_无法启动远程桌面服务(VNC)[关闭]
  6. python封装c接口_用C为python3.1封装mysql接口(一)
  7. 2012年7月的主要目标
  8. 计算机二级C语言考试题库软件
  9. 转:L298N的原理图以及程序实现
  10. Java 实例变量 和 实例方法 以及调用
  11. 字符串的编码格式转换
  12. java生成mib文件_Mib浏览器设计(附源码) | 学步园
  13. PHP 接入 Apple 登录对 access_token/identityToken 进行 JWT 验证
  14. 教你唱千千阙歌,粤语版的
  15. 菜刀,蚁剑,冰蝎,哥斯拉的流量特征
  16. ubuntu16.04掉显卡驱动解决方法
  17. Android使用NFC模拟IC卡
  18. 手机桌面隐藏大师_隐藏大师app下载-隐藏大师安卓版下载-ROM之家
  19. 微软认证考试,还有各种unix认证考试
  20. 计算机怎么识别你写的代码?

热门文章

  1. 数字电路实验(01)基本逻辑运算及其电路实现
  2. 四、WebDriver(Selenium 2.0)
  3. 雷卯推荐TVS低漏流100uA,低电压3.3v,功率400W
  4. vrep与matlab 互动
  5. Super LRC Editor for windows-lrc歌词编辑器-正式发布
  6. JAVA常见异常类汇总
  7. Android允许后台活动管理,安卓基础知识(活动)
  8. 好玩的代码注释图 神兽保佑 代码无bug
  9. python 3.10.1 安装教程
  10. FiberSIM 16 v16.0.1