Python 在PDF中绘制线条、矩形、椭圆形的方法

 更新时间:2024年11月19日 09:23:34   作者:E-iceblue  
这篇文章主要介绍了Python在PDF中绘制线条、矩形、椭圆形,本文将通过以下几个示例介绍如何使用Python在PDF中绘制不同的图形,需要的朋友可以参考下

在PDF中绘制图形可以增强文档的视觉效果。通过添加不同类型的形状,如实线、虚线、矩形、圆形等,可以使文档更加生动有趣,提高读者的阅读兴趣。这对于制作报告、演示文稿或是教材特别有用。本文将通过以下几个示例介绍如何使用Python 在PDF中绘制不同的图形

  • Python 在PDF中绘制实线、虚线
  • Python 在PDF中绘制矩形
  • Python 在 PDF 中绘制椭圆形

所需Python库 Spire.PDF for Python。可以通过下面的pip 命令直接安装:

pip install Spire.Pdf

Python 在PDF中绘制实线、虚线

Spire.PDF for Python库提供了 PdfPageBase.Canvas.DrawLine() 方法用于在PDF页面指定位置绘制线条。通过设置画笔PdfPen的样式,可以绘制实线或虚线。

Python 代码:

from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档
pdf = PdfDocument()
# 添加页面
page = pdf.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 指定线条起始点的X和Y坐标
x = 100.0  
y = 50.0   
# 制定线条长度
width = 300.0  
# 创建指定颜色和粗细的画笔
pen = PdfPen(PdfRGBColor(Color.get_Blue()), 2.0)  
# 用画笔在页面上绘制实线
page.Canvas.DrawLine(pen, x, y, x + width, y)
# 设置画笔样式为虚线
pen.DashStyle = PdfDashStyle.Dash  
# 设置虚线样式为[1, 4, 1]
pen.DashPattern = [1, 4, 1]  
# 指定虚线起始点 y 坐标
y = 80.0  
# 用画笔页面上绘制虚线
page.Canvas.DrawLine(pen, x, y, x + width, y)
# 恢复之前保存的绘图状态
page.Canvas.Restore(state)
# 保存PDF文档
pdf.SaveToFile("绘制线条.pdf")
pdf.Close()
pdf.Dispose()

Python 在PDF中绘制矩形

PdfPageBase.Canvas.DrawRectangle() 方法可用于在PDF页面指定位置绘制矩形。通过向该方法中传递不同的参数,可以指定矩形的大小、填充色等。

Python 代码:

from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档
pdf = PdfDocument()
# 添加页面
page = pdf.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 创建指定颜色和粗细的画笔
pen = PdfPen(PdfRGBColor(Color.get_Blue()), 1.5)
# 用画笔在页面上绘制一个矩形
page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 60.0), SizeF(150.0, 90.0)))
# 创建一个线性渐变笔刷
linearGradientBrush = PdfLinearGradientBrush(PointF(220.0, 60.0), PointF(350.0, 180.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Pink()))
# 用线性渐变笔刷绘制一个填充式矩形
page.Canvas.DrawRectangle (linearGradientBrush, RectangleF(PointF(220.0, 60.0), SizeF(150.0, 90.0)))
# 恢复之前保存的绘图状态
page.Canvas.Restore(state)
# 保存PDF文档
pdf.SaveToFile("绘制矩形.pdf")
pdf.Close()
pdf.Dispose()

Python 在 PDF 中绘制椭圆形

在PDF页面指定位置绘制椭圆形可以使用 PdfPageBase.Canvas.DrawEllipse() 方法。通过指定不同的PDF画笔或画刷,可以绘制不同样式的椭圆形。

Python 代码:

from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档
pdf = PdfDocument()
# 添加页面
page = pdf.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 创建画笔
pen = PdfPens.get_Violet()
# 用画笔在页面上绘制椭圆形
page.Canvas.DrawEllipse(pen, 30.0, 60.0, 150.0, 100.0)
# 创建填充画刷对象
brush = PdfSolidBrush(PdfRGBColor(Color.get_Violet()))
# 绘制填充的椭圆形状
page.Canvas.DrawEllipse(brush, 220.0, 60.0, 150.0, 100.0)
# 恢复之前保存的绘图状态
page.Canvas.Restore(state)
# 保存PDF文档
pdf.SaveToFile("绘制椭圆形.pdf")
pdf.Close()
pdf.Dispose()

生成文档中的红色水印,可以通过点击以下链接,申请一个月免费授权来去除:

https://www.e-iceblue.cn/misc/temporary-license.html

到此这篇关于Python 在PDF中绘制线条、矩形、椭圆形的方法的文章就介绍到这了,更多相关python pdf 绘制线条、矩形、椭圆形内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python搭建Gitee图床的示例代码

    Python搭建Gitee图床的示例代码

    在写博客的过程中经常要插入图片,本文将使用Python实现对上传的图片自动压缩,自动编码,以及自动推送到远程仓库,感兴趣的可以了解一下
    2021-10-10
  • 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    这篇文章主要介绍了详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 浅析Python 3 字符串中的 STR 和 Bytes 有什么区别

    浅析Python 3 字符串中的 STR 和 Bytes 有什么区别

    Python2的str相当于Python3的Bytes,而Unicode相当于Python3的Bytes。这篇文章主要介绍了Python 3 字符串中的 STR 和 Bytes 究竟有什么区别?需要的朋友可以参考下
    2018-10-10
  • python神经网络Keras常用学习率衰减汇总

    python神经网络Keras常用学习率衰减汇总

    这篇文章主要为大家介绍了python神经网络Keras常用学习率衰减汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python高级编程之继承问题详解(super与mro)

    Python高级编程之继承问题详解(super与mro)

    这篇文章主要介绍了Python高级编程之继承问题,结合实例形式详细分析了Python多继承、MRO顺序及super调用父类等相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • Python 实现王者荣耀中的敏感词过滤示例

    Python 实现王者荣耀中的敏感词过滤示例

    今天小编就为大家分享一篇Python 实现王者荣耀中的敏感词过滤示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python实现贪心算法的示例

    Python实现贪心算法的示例

    这篇文章主要介绍了Python实现贪心算法的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python连接数据库使用matplotlib画柱形图

    Python连接数据库使用matplotlib画柱形图

    这篇文章主要介绍了Python连接数据库使用matplotlib画柱形图,文章通过实例展开对主题的相关介绍。具有一定的知识参考价值性,感兴趣的小伙伴可以参考一下
    2022-06-06
  • Python文件简单操作及openpyxl操作excel文件详解

    Python文件简单操作及openpyxl操作excel文件详解

    这篇文章主要为大家详细介绍了python对文件的简单使用及openpyxl操作excel文件的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-10-10
  • Pandas实现数据拼接的操作方法详解

    Pandas实现数据拼接的操作方法详解

    Python处理大规模数据集的时候经常需要使用到合并、链接的方式进行数据集的整合,本文为大家主要介绍了.merge()、 .join() 和 .concat() 三种方法,感兴趣的可以了解一下
    2022-04-04

最新评论