当前位置: 首页 > article >正文

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()

 


生成文档中的红色水印,可以通过点击以下链接,申请一个月免费授权来去除:申请免费临时授权文件创建、编辑、转换和打印 Office:Excel (xls,xlsx), Word (doc,docx), PowerPoint, PDF 及 Barcodeicon-default.png?t=O83Ahttps://www.e-iceblue.cn/misc/temporary-license.html


http://www.kler.cn/a/382979.html

相关文章:

  • 7. petalinux 根文件系统配置(package group)
  • Linux内核 -- UIO (User-space I/O) 简介与使用笔记
  • 安全合规遇 AI 强援:深度驱动行业发展新引擎 | 倍孜网络CEO聂子尧出席ICT深度观察报告会!
  • golang连接jenkins构建build
  • YOLOv9-0.1部分代码阅读笔记-benchmarks.py
  • 五、Swagger 介绍(Flask+Flasgger的应用)
  • keep-alive - 2024最新版前端秋招面试短期突击面试题【100道】
  • A02、JVM性能监测调优
  • Docker学习—Docker核心概念总结
  • 机器学习—矩阵乘法
  • NeurIPS24 | 多无人机协作精确预测车辆等目标移动轨迹, Drones Help Drones
  • 【comfyui教程】ComfyUI即将迎来全新界面:升级体验就在11月15日
  • 如何利用低代码开源框架实现高效开发?
  • react18中redux-promise搭配redux-thunk完美简化异步数据操作
  • Nginx转发MySQL端口及添加stream模块
  • group by 聚合操作出错解决办法
  • 华为机试HJ25 数据分类处理
  • WPF MVVM入门系列教程(二、依赖属性)
  • 自注意力(Self-attention)与卷积神经网络(CNN)的相似性和区别
  • 如何在算家云搭建Aatrox-Bert-VITS2(音频生成)
  • 【python】OpenCV—findContours(4.6)
  • vue cli源码学习之cli-service
  • C语言算法编译成汇编语言增加保密性
  • Unity SRP学习笔记(二)
  • 语音识别中的RPM技术:原理、应用与发展趋势
  • java list使用基本操作