形状在 pdf 中具有重要性。通过绘制图形、定义轮廓、填充颜色、设置边框样式和应用几何变换,形状为文档提供了丰富的视觉效果和设计选择。形状的属性如颜色、线型和填充效果可以根据需求自定义,以满足个性化的设计要求。它们可以用于创建图表、装饰、标识等元素,增强文档的可读性和吸引力。本文将介绍如何使用 spire.pdf for python 在 python 中绘制形状到 pdf 文档中。
安装 spire.pdf for python
本教程需要用到 spire.pdf for python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.pdf
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 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 天的临时许可证。