翼度科技»论坛 编程开发 python 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
在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 代码:
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 创建PDF文档
  4. pdf = PdfDocument()
  5. # 添加页面
  6. page = pdf.Pages.Add()
  7. # 保存当前绘图状态
  8. state = page.Canvas.Save()
  9. # 指定线条起始点的X和Y坐标
  10. x = 100.0  
  11. y = 50.0   
  12. # 制定线条长度
  13. width = 300.0  
  14. # 创建指定颜色和粗细的画笔
  15. pen = PdfPen(PdfRGBColor(Color.get_Blue()), 2.0)  
  16. # 用画笔在页面上绘制实线
  17. page.Canvas.DrawLine(pen, x, y, x + width, y)
  18. # 设置画笔样式为虚线
  19. pen.DashStyle = PdfDashStyle.Dash  
  20. # 设置虚线样式为[1, 4, 1]
  21. pen.DashPattern = [1, 4, 1]  
  22. # 指定虚线起始点 y 坐标
  23. y = 80.0  
  24. # 用画笔页面上绘制虚线
  25. page.Canvas.DrawLine(pen, x, y, x + width, y)
  26. # 恢复之前保存的绘图状态
  27. page.Canvas.Restore(state)
  28. # 保存PDF文档
  29. pdf.SaveToFile("绘制线条.pdf")
  30. pdf.Close()
  31. pdf.Dispose()
复制代码

 
Python 在PDF中绘制矩形

PdfPageBase.Canvas.DrawRectangle() 方法可用于在PDF页面指定位置绘制矩形。通过向该方法中传递不同的参数,可以指定矩形的大小、填充色等。
Python 代码:
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 创建PDF文档
  4. pdf = PdfDocument()
  5. # 添加页面
  6. page = pdf.Pages.Add()
  7. # 保存当前绘图状态
  8. state = page.Canvas.Save()
  9. # 创建指定颜色和粗细的画笔
  10. pen = PdfPen(PdfRGBColor(Color.get_Blue()), 1.5)
  11. # 用画笔在页面上绘制一个矩形
  12. page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 60.0), SizeF(150.0, 90.0)))
  13. # 创建一个线性渐变笔刷
  14. linearGradientBrush = PdfLinearGradientBrush(PointF(220.0, 60.0), PointF(350.0, 180.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Pink()))
  15. # 用线性渐变笔刷绘制一个填充式矩形
  16. page.Canvas.DrawRectangle (linearGradientBrush, RectangleF(PointF(220.0, 60.0), SizeF(150.0, 90.0)))
  17. # 恢复之前保存的绘图状态
  18. page.Canvas.Restore(state)
  19. # 保存PDF文档
  20. pdf.SaveToFile("绘制矩形.pdf")
  21. pdf.Close()
  22. pdf.Dispose()
复制代码

 
Python 在 PDF 中绘制椭圆形

在PDF页面指定位置绘制椭圆形可以使用 PdfPageBase.Canvas.DrawEllipse() 方法。通过指定不同的PDF画笔或画刷,可以绘制不同样式的椭圆形。
Python 代码:
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 创建PDF文档
  4. pdf = PdfDocument()
  5. # 添加页面
  6. page = pdf.Pages.Add()
  7. # 保存当前绘图状态
  8. state = page.Canvas.Save()
  9. # 创建画笔
  10. pen = PdfPens.get_Violet()
  11. # 用画笔在页面上绘制椭圆形
  12. page.Canvas.DrawEllipse(pen, 30.0, 60.0, 150.0, 100.0)
  13. # 创建填充画刷对象
  14. brush = PdfSolidBrush(PdfRGBColor(Color.get_Violet()))
  15. # 绘制填充的椭圆形状
  16. page.Canvas.DrawEllipse(brush, 220.0, 60.0, 150.0, 100.0)
  17. # 恢复之前保存的绘图状态
  18. page.Canvas.Restore(state)
  19. # 保存PDF文档
  20. pdf.SaveToFile("绘制椭圆形.pdf")
  21. pdf.Close()
  22. pdf.Dispose()
复制代码

 
 
 
生成文档中的红色水印,可以通过点击以下链接,申请一个月免费授权来去除:
https://www.e-iceblue.cn/misc/temporary-license.html

来源:https://www.cnblogs.com/Yesi/p/18552988
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具