在 powerpoint 中添加形状可以美化幻灯片的视觉效果,使内容更加生动有趣。形状可以用来强调重点、区分不同部分或创建图表和图示。通过使用不同的颜色、大小和样式,形状能够帮助观众更好地理解信息,提高演示的吸引力和专业性。此外,形状工具易于操作,可快速调整和编辑,提升制作效率。在本文中,我们将演示如何使用 spire.presentation for python 在 python 中给 powerpoint 文档添加形状、移动形状以及旋转形状。
安装 spire.presentation for python
本教程需要用到 spire.presentation for python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 windows 中。
pip install spire.presentation
如果您不确定如何安装,请参考此教程: 如何在 windows 中安装 spire.presentation for python
在 powerpoint 文档中添加形状
spire.presentation for python 提供了 islide.shapes.appendshape(shapetype shapetype, rectanglef rectangle) 方法用于添加各种形状,如矩形、三角形、心形、五角星、箭头等等;提供了 ishape.fill.filltype、ishape.fill.solidcolor.color、ishape.shapestyle.linecolor.color 来设置形状的填充类型、填充颜色以及边框颜色。
具体步骤如下:
- 创建 presentation 类的对象。
- 使用 presentation.loadfromfile() 方法加载一个 powerpoint 演示文稿。
- 通过 presentation.slides[index] 属性获取特定待操作的幻灯片。
- 通过 islide.shapes.appendshape(shapetype shapetype, rectanglef rectangle) 来给当前幻灯片添加一个三角形,并通过 ishape.fill.filltype 来设置三角形的填充类型,通过 ishape.fill.solidcolor.color 来设置三角形的填充颜色,通过 ishape.shapestyle.linecolor.color 来设置三角形的边框线颜色。
- 重复上面这个步骤,为当前幻灯片继续添加椭圆、心形、五角星、矩形、箭头,并为它们设置填充类型、填充颜色以及边框线颜色。
- 使用 presentation.savetofile() 方法保存结果演示文稿。
- python
from spire.presentation.common import *
from spire.presentation import *
# 设置输出文件路径
outputfile = "output/addshapes1.pptx"
# 创建一个新的演示文稿对象
presentation = presentation()
# 设置背景图片文件路径
imagefile = "input/bg.png"
# 创建一个矩形,覆盖整个幻灯片的大小
rect = rectanglef.fromltrb(0, 0, presentation.slidesize.size.width, presentation.slidesize.size.height)
# 获取演示文稿中的第一个幻灯片
slide = presentation.slides[0]
# 给第一张幻灯片设置背景图片
slide.shapes.appendembedimagebypath(shapetype.rectangle, imagefile, rect)
# 设置第一个形状的填充颜色为花白色
slide.shapes[0].line.fillformat.solidfillcolor.color = color.get_floralwhite()
# 添加一个三角形形状
shape = slide.shapes.appendshape(shapetype.triangle, rectanglef.fromltrb(115, 130, 215, 230))
# 设置三角形填充类型为纯色填充
shape.fill.filltype = fillformattype.solid
# 设置三角形填充颜色为浅绿色
shape.fill.solidcolor.color = color.get_lightgreen()
# 设置三角形线条颜色为白色
shape.shapestyle.linecolor.color = color.get_white()
# 添加一个椭圆形状
shape = slide.shapes.appendshape(shapetype.ellipse, rectanglef.fromltrb(290, 130, 440, 230))
# 设置椭圆形填充类型为纯色填充
shape.fill.filltype = fillformattype.solid
# 设置椭圆形填充颜色为浅天蓝色
shape.fill.solidcolor.color = color.get_lightskyblue()
# 设置椭圆形线条颜色为白色
shape.shapestyle.linecolor.color = color.get_white()
# 添加一个心形形状
shape = slide.shapes.appendshape(shapetype.heart, rectanglef.fromltrb(470, 130, 600, 230))
# 设置心形填充类型为纯色填充
shape.fill.filltype = fillformattype.solid
# 设置心形填充颜色为红色
shape.fill.solidcolor.color = color.get_red()
# 设置心形线条颜色为浅灰色
shape.shapestyle.linecolor.color = color.get_lightgray()
# 添加一个五角星形状
shape = slide.shapes.appendshape(shapetype.fivepointedstar, rectanglef.fromltrb(90, 270, 240, 420))
# 设置五角星填充类型为渐变填充
shape.fill.filltype = fillformattype.gradient
# 设置五角星填充颜色为黑色
shape.fill.solidcolor.color = color.get_black()
# 设置五角星线条颜色为白色
shape.shapestyle.linecolor.color = color.get_white()
# 添加一个矩形形状
shape = slide.shapes.appendshape(shapetype.rectangle, rectanglef.fromltrb(320, 290, 420, 410))
# 设置矩形填充类型为纯色填充
shape.fill.filltype = fillformattype.solid
# 设置矩形填充颜色为粉红色
shape.fill.solidcolor.color = color.get_pink()
# 设置矩形线条颜色为浅灰色
shape.shapestyle.linecolor.color = color.get_lightgray()
# 添加一个向上弯曲的箭头形状
shape = slide.shapes.appendshape(shapetype.bentuparrow, rectanglef.fromltrb(470, 300, 720, 400))
# 设置箭头填充类型为渐变填充
shape.fill.filltype = fillformattype.gradient
# 设置箭头渐变填充的颜色从橄榄绿到粉蓝色
shape.fill.gradient.gradientstops.appendbyknowncolors(1, knowncolors.olive)
shape.fill.gradient.gradientstops.appendbyknowncolors(0, knowncolors.powderblue)
# 设置箭头线条颜色为红色
shape.shapestyle.linecolor.color = color.get_red()
# 保存演示文稿到指定的文件路径,并使用pptx2010格式
presentation.savetofile(outputfile, fileformat.pptx2010)
# 释放演示文稿资源
presentation.dispose()
在 powerpoint 文档中移动形状
在 powerpoint 中,插入形状后,往往还需要移动形状的位置、调整形状大小来实现页面布局或特定的效果,spire.presentation for python 提供了 ishape.height、ishape.width 方法来设置形状的高、宽,提供了 ishape.left、ishape.top 方法来设置形状的左边距和上边距,具体步骤如下:
- 创建 presentation 类的对象。
- 使用 presentation.loadfromfile() 方法加载一个 powerpoint 演示文稿。
- 通过 presentation.slides[index] 属性获取特定待操作的幻灯片。
- 通过 islide.shapes[index] 来获取待操作的形状,再通过 ishape.height、ishape.width 来设置形状的高、宽来改变形状大小,通过 ishape.left、ishape.top 来重新设置形状的左边距和上边距以实现移动形状的目标。
- 使用 presentation.savetofile() 方法保存结果演示文稿。
- python
from spire.presentation import *
# 定义输入文件路径,该文件是一个pptx格式的模板文件
inputfile = "shape/shapetemplate.pptx"
# 定义输出文件路径,用于结果ppt文件
outputfile = "shape/resetshapesizeandposition1.pptx"
# 创建一个presentation对象,用于操作ppt文件
ppt = presentation()
# 从指定的输入文件中加载ppt内容
ppt.loadfromfile(inputfile)
# 获取演示文稿中的第一个幻灯片
slide = ppt.slides[0]
# 获取当前幻灯片的第一个形状
shape = slide.shapes[0]
# 将形状的高度缩小为原来的一半
shape.height = shape.height * 0.5
# 将形状的宽度缩小为原来的一半
shape.width = shape.width * 0.5
# 将形状的左边距缩小为原来的一半
shape.left = shape.left * 0.5
# 将形状的上边距缩小为原来的一半
shape.top = shape.top * 0.5
# 将修改后的演示文稿保存到指定的输出文件中,使用pptx2013格式
ppt.savetofile(outputfile, fileformat.pptx2013)
# 释放presentation对象的资源
ppt.dispose()
在 powerpoint 文档中旋转形状
spire.presentation for python 提供了 ishape.rotation 为形状设置旋转角度,具体步骤如下:
- 创建 presentation 类的对象。
- 使用 presentation.loadfromfile() 方法加载一个 powerpoint 演示文稿。
- 通过 presentation.slides[index] 属性获取特定待操作的幻灯片。
- 通过 islide.shapes[index] 来获取待操作的形状,并通过 ishape.rotation 属性设置形状旋转角度。
- 使用 presentation.savetofile() 方法保存结果演示文稿。
- python
from spire.presentation import *
# 定义输入文件路径,该文件是一个pptx格式的演示文稿
inputfile = "shape/rotateshape1.pptx"
# 定义输出文件路径,用于保存修改后的演示文稿
outputfile = "shape/rotateshape_out11.pptx"
# 创建一个presentation对象,用于操作ppt文件
ppt = presentation()
# 从指定的输入文件中加载ppt内容
ppt.loadfromfile(inputfile)
# 获取当前幻灯片的第一个形状
shape = ppt.slides[0].shapes[0]
# 检查该形状是否为iautoshape类型
if isinstance(shape, iautoshape):
# 如果是,则将其旋转角度设置为90度
shape.rotation = 90
# 获取当前幻灯片的第二个形状
shape = ppt.slides[0].shapes[1]
# 检查该形状是否为iautoshape类型
if isinstance(shape, iautoshape):
# 如果是,则将其旋转角度设置为60度
shape.rotation = 60
# 将修改后的演示文稿保存到指定的输出文件中,使用pptx2010格式
ppt.savetofile(outputfile, fileformat.pptx2010)
# 释放presentation对象的资源
ppt.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。