形状在 PDF 中具有重要性。通过绘制图形、定义轮廓、填充颜色、设置边框样式和应用几何变换,形状为文档提供了丰富的视觉效果和设计选择。形状的属性如颜色、线型和填充效果可以根据需求自定义,以满足个性化的设计要求。它们可以用于创建图表、装饰、标识等元素,增强文档的可读性和吸引力。本文将介绍如何使用 Spire.PDF for Python 在 Python 中绘制形状到 PDF 文档中。
安装 Spire.PDF for Python
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Python 在 PDF 文档中绘制线条
Spire.Pdf for Pyhthon 提供了 PdfPageBase.Canvas.DrawLine() 方法绘制线条,通过指定起始点和结束点的坐标以及画笔对象,可以绘制多样化的线段。以下是绘制线条的详细步骤:
- 创建了一个 PdfDocument 对象。
- 使用 PdfDocument.Pages.Add() 方法添加一个空白页到 PDF 文档中。
- 使用 PdfPageBase.Canvas.Save() 方法保存当前的绘图状态,以便后续恢复。
- 定义实线段的起始点坐标 (x, y) 和长度。
- 使用 PdfPen(PdfRGBColor(Color.get_DeepSkyBlue()), 3.0) 方法创建一个深天蓝色和线宽为 3.0 的画笔对象。
- 使用 PdfPageBase.Canvas.DrawLine() 方法用上面的画笔对象绘制一条实线段。
- 设置画笔的 DashStyle 属性为 PdfDashStyle.Dash 虚线样式。
- 使用 PdfPageBase.Canvas.DrawLine() 方法用虚线样式的画笔对象绘制一条虚线段。
- 使用 PdfPageBase.Canvas.Restore(state) 方法恢复之前保存的绘图状态。
- 使用 PdfDocument.SaveToFile() 方法将文档保存到文件中。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档对象
doc = PdfDocument()
# 添加页面
page = doc.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 线的起始点 x 坐标
x = 100.0
# 线的起始点 y 坐标
y = 50.0
# 线的长度
width = 300.0
# 创建画笔对象,使用深天蓝色和线宽为3.0
pen = PdfPen(PdfRGBColor(Color.get_DeepSkyBlue()), 3.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)
# 将文档保存到文件
doc.SaveToFile("绘制线条.pdf")
# 关闭文档并释放资源
doc.Close()
doc.Dispose()
Python 在 PDF 文档中绘制饼形
通过调用 PdfPageBase.Canvas.DrawPie() 方法并传递合适的参数,可以实现在指定页面上绘制具有不同位置、尺寸和角度的饼形图形。下面是绘制饼形的详细步骤:
- 创建了一个 PdfDocument 对象。
- 使用 PdfDocument.Pages.Add() 方法添加一个空白页到 PDF 文档中。
- 使用 PdfPageBase.Canvas.Save() 方法保存当前的绘图状态,以便后续恢复。
- 使用 PdfPen(PdfRGBColor(Color.get_DarkRed()), 2.0) 方法创建一个深红色和线宽为 2.0 的画笔对象。
- 使用 PdfPageBase.Canvas.DrawPie() 方法并传递不同的位置,角度等参数来绘制三个饼形图。
- 使用 PdfPageBase.Canvas.Restore(state) 方法恢复之前保存的绘图状态。
- 使用 PdfDocument.SaveToFile() 方法将文档保存到文件中。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档对象
doc = PdfDocument()
# 添加页面
page = doc.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 创建画笔对象
pen = PdfPen(PdfRGBColor(Color.get_DarkRed()), 2.0)
# 绘制第一个饼形
page.Canvas.DrawPie(pen, 10.0, 30.0, 130.0, 130.0, 360.0, 300.0)
# 绘制第二个饼形
page.Canvas.DrawPie(pen, 160.0, 30.0, 130.0, 130.0, 360.0, 330.0)
# 绘制第三个饼形
page.Canvas.DrawPie(pen, 320.0, 30.0, 130.0, 130.0, 360.0, 360.0)
# 恢复之前保存的绘图状态
page.Canvas.Restore(state)
# 将文档保存到文件
doc.SaveToFile("绘制饼形形状.pdf")
# 关闭文档并释放资源
doc.Close()
doc.Dispose()
Python 在 PDF 文档中绘制矩形
Spire.Pdf for Python 提供了 PdfPageBase.Canvas.DrawRectangle() 方法来绘制矩形形状,通过传递位置和尺寸参数来定义矩形的位置和大小。以下是绘制矩形的详细步骤:
- 创建了一个 PdfDocument 对象。
- 使用 PdfDocument.Pages.Add() 方法添加一个空白页到 PDF 文档中。
- 使用 PdfPageBase.Canvas.Save() 方法保存当前的绘图状态,以便后续恢复。
- 创建一个 PdfPen 画笔对象。
- 使用 PdfPageBase.Canvas.DrawRectangle() 方法用画笔绘制一个矩形的轮廓。
- 创建一个 PdfLinearGradientBrush 线性渐变刷子对象。
- 使用 PdfPageBase.Canvas.DrawRectangle() 方法用线性渐变刷子绘制一个填充式矩形。
- 创建一个 PdfRadialGradientBrush 径向渐变刷子对象。
- 使用 PdfPageBase.Canvas.DrawRectangle() 方法用径向渐变刷子绘制一个填充式矩形。
- 使用 PdfPageBase.Canvas.Restore(state) 方法恢复之前保存的绘图状态。
- 使用 PdfDocument.SaveToFile() 方法将文档保存到文件中。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档对象
doc = PdfDocument()
# 添加页面
page = doc.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 创建画笔对象,使用巧克力色和线宽为1.5
pen = PdfPen(PdfRGBColor(Color.get_Chocolate()), 1.5)
# 用画笔绘制一个矩形的轮廓
page.Canvas.DrawRectangle(pen, RectangleF(PointF(20.0, 30.0), SizeF(150.0, 120.0)))
# 创建一个线性渐变刷子对象
linearGradientBrush = PdfLinearGradientBrush(PointF(200.0, 30.0), PointF(350.0, 150.0), PdfRGBColor(Color.get_Green()), PdfRGBColor(Color.get_Red()))
# 用线性渐变刷子绘制一个填充式矩形
page.Canvas.DrawRectangle(linearGradientBrush, RectangleF(PointF(200.0, 30.0), SizeF(150.0, 120.0)))
# 创建一个径向渐变刷子对象
radialGradientBrush = PdfRadialGradientBrush(PointF(380.0, 30.0), 150.0, PointF(530.0, 150.0), 150.0, PdfRGBColor(Color.get_Orange()) , PdfRGBColor(Color.get_Blue()))
# 用径向渐变刷子绘制一个填充式矩形
page.Canvas.DrawRectangle(radialGradientBrush, RectangleF(PointF(380.0, 30.0), SizeF(150.0, 120.0)))
# 恢复之前保存的绘图状态
page.Canvas.Restore(state)
# 将文档保存到文件
doc.SaveToFile("绘制矩形形状.pdf")
# 关闭文档并释放资源
doc.Close()
doc.Dispose()
Python 在 PDF 文档中绘制椭圆形
Spire.Pdf for Python 提供了 PdfPageBase.Canvas.DrawEllipse() 方法来绘制椭圆形状, 通过使用画笔或者填充刷子来绘制不同样式的椭圆形状。以下是绘制椭圆的详细步骤:
- 创建了一个 PdfDocument 对象。
- 使用 PdfDocument.Pages.Add() 方法添加一个空白页到 PDF 文档中。
- 使用 PdfPageBase.Canvas.Save() 方法保存当前的绘图状态,以便后续恢复。
- 使用 PdfPens.get_CadetBlue() 创建一个军蓝色并使用默认线宽的画笔对象。
- 调用 PdfPageBase.Canvas.DrawEllipse() 方法,使用画笔对象绘制一个椭圆形状轮廓,指定椭圆的位置和尺寸。
- 使用 PdfSolidBrush(PdfRGBColor(Color.get_CadetBlue())) 创建一个军蓝色的填充刷子对象。
- 调用 PdfPageBase.Canvas.DrawEllipse() 方法,使用填充刷子对象绘制一个填充的椭圆形状,指定椭圆的位置和尺寸。
- 使用 PdfPageBase.Canvas.Restore(state) 方法恢复之前保存的绘图状态。
- 使用 PdfDocument.SaveToFile() 方法将文档保存到文件中。
- Python
from spire.pdf.common import *
from spire.pdf import *
# 创建PDF文档对象
doc = PdfDocument()
# 添加页面
page = doc.Pages.Add()
# 保存当前绘图状态
state = page.Canvas.Save()
# 创建画笔对象
pen = PdfPens.get_CadetBlue()
# 绘制椭圆形状轮廓
page.Canvas.DrawEllipse(pen, 50.0, 30.0, 120.0, 100.0)
# 创建填充刷子对象
brush = PdfSolidBrush(PdfRGBColor(Color.get_CadetBlue()))
# 绘制填充的椭圆形状
page.Canvas.DrawEllipse(brush, 180.0, 30.0, 120.0, 100.0)
# 恢复之前保存的绘图状态
page.Canvas.Restore(state)
# 将文档保存到文件
doc.SaveToFile("绘制椭圆形状.pdf")
# 关闭文档并释放资源
doc.Close()
doc.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。