我认为在Graphics子模块中还有一些其他模块也值得学习。 尽管我们不会深入探讨“图形”子模块中的每个方面,但我想确保您了解足够多的“图形”子库。 在本文中我们将学习以下内容:

  • 形状
  • 小部件
  • 条形码

形状

形状是我们用来从ReportLab的图形库创建任何输出的构造块。 您创建的每个工程图都是使用形状生成的。 您可以通过采用原始形状并以不同方式将它们组合来创建任何您可以想象的东西。 如果在ReportLab源代码中打开shapes.py,则可以看到可以使用哪些原始形状。 这里是一个清单:

  • Circle
  • Group
  • Ellipse
  • Line
  • PolyLine
  • Polygon
  • Rect
  • String
  • Wedge (pie slice)

下面的示例演示如何创建实体形状:

代码略

在这里,我们创建一个圆形,椭圆形,多边形,矩形和楔形。 Rect类需要x和y坐标以及宽度和高度。 椭圆采用称为cx,cy,rx和ry的参数。 cx / cy值是椭圆中心的x和y位置。 rx / ry值分别是x和y半径。 圆与椭圆类似,因为它也具有cx / cy值,但只需要一个radius参数,即第三个参数。

Wedge类的前三个参数采用x,y和radius。 然后,我们还以度为单位设置楔形的开始和结束角度。 最后,我们进入多边形。 它只需要一系列点,总数就必须是偶数。 原因是这是一系列的x和y坐标,在上面的示例中,我尝试使用空格使其更加明显。 在这种情况下,我们绘制了一个矩形,但是您可以绘制任意数量的点以创建所需的任何多边形。

这是运行代码的结果:

形状属性

所有形状都有两种属性:定义几何形状的属性和定义样式的属性。

大多数形状具有一些必需的几何属性,您必须设置这些属性才能绘制形状。 例如,如果要绘制一个圆,则必须设置圆的中心x / y坐标及其半径。 对于Rect,您需要设置其x / y开始位置,这是它应该开始的左下角位置。 您还必须定义Rect的宽度和高度。

可以在代码中的单独行上设置其他属性,也可以在实例化形状时将其设置为可选参数。 可选属性具有良好的默认设置,因此如果您最终未设置其中的某些属性,则不会有问题。

样式属性如下:

代码略

运行此代码时,应获得以下信息:

如果您希望看到可以更改的属性的完整列表,则可以调用图形的dumpProperties方法。 这是一个例子:

代码略

还有一些其他属性,例如设置破折号或可以用来告诉ReportLab线转弯时应该发生什么的功能,但是这些属性使用的频率很少或几乎不用。 所有实体形状都具有相同的样式属性。

线

ReportLab使您能够绘制线和折线。 这些Line类具有其他形状具有的所有笔触属性,但是由于它们是直线,因此不具有fillColor属性。

让我们看一下如何使用这些类:

代码略

详情参阅 - 亚图跨际

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

  1. Python使用Reportlab处理PDF数据 - 图形和图表

    简述 reportlab.graphics子程序包是作为一组独立程序开始的. 今天,它已完全集成到ReportLab工具包的其余部分中. 图形子软件包为开发人员提供了一组强大的功能,可用于创建图表和图 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. python处理word或者pdf文件_利用python程序生成word和PDF文档的方法

    一.程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用fr ...

  10. Python自动化办公【PDF文件自动化】

    PDF 文件可以分为可编辑型PDF 文件与扫描型PDF 文件,内容可以复制,是可编辑型PDF文件,反之则是扫描型PDF 文件.简单理解扫描型PDF文件是由一张张图像构建而成. 读取PDF文件内容 1. ...

最新文章

  1. python输入一个整数倒序输出_利用Python实现倒序任意整数
  2. 4月22日(牛马不对嘴)
  3. 【今晚7点半】:华为云视频直播在各细分场景的体验指标优化实践
  4. 浅析 Linux 初始化系统(系统服务管理和控制程序/init system) -- UpStart
  5. 菜鸟Linux系列:[4]SSH免密码登陆远程服务器
  6. 自动驾驶中的滞后碰撞检测(lazy-collision-checking)
  7. DDD(领域驱动设计)示例目录结构
  8. ERP-非财务人员的财务培训教(四)------公司/部门的成本与费用控制
  9. PROFILER 技术总结(二): 利用Monte Carlo Profiler 工具
  10. 蓝桥杯:BFS解决问题总结(九宫重排,跳蚱蜢,卡片交换)
  11. springboot图书管理怎么实现借书时间到期提醒_东和店镇第一小学图书数字化管理先进做法...
  12. cortex a7 a53_最美轿跑之一的奥迪A7,究竟有何魅力令人一眼定心
  13. matlab赌徒破产模型转移矩阵,基于matlab的土地利用转移矩阵及土地利用转移空间分布...
  14. python单例装饰器_python单例模式和装饰器
  15. 用 线性回归 预测股票的涨跌
  16. php如何生成一年的日历表_PHP生成日历
  17. jQuery 实现小米手风琴图片案例
  18. Tables[0].Rows.count是什么意思
  19. Java零基础个人学习路线总结
  20. Http的多线程下载的实现

热门文章

  1. linux使用清华镜像安装numpy,NumPy 安装
  2. IPV6:移动光猫吉比特GM228-S 桥接+IPV6教程
  3. 利用Python的openpyxl对Excel实现空白单元格的填充
  4. 关于使用nRF Studio 批量烧写NRF52840 不成功的解决方案
  5. DBN深度置信网络的实现
  6. 我开始学习郑码了(郑码输入记忆版)
  7. 贾俊平《统计学》常用公式
  8. flink 窗口表值函数
  9. 设计模式-行为性模式(模板方法模式,策略模式,命令模式,责任链模式,观察者模式,中介者模式,迭代器模式)
  10. 计算机屏幕坐标系转换,测量坐标系到计算机屏幕坐标系的换算