在数字化办公时代,Python已成为自动化处理Office文档的首选工具。针对PowerPoint图片管理,使用Python能实现批量操作多个PPT文件,并减少人工操作的失误。本文将介绍如何使用免费Python库在PPT文档中添加图片,或删除PPT文档中的图片。
环境准备: 安装 Free Spire.Presentation for Python库。(点击查看免费版的页数限制)
pip install Spire.Presentation.Free
Python 在PPT幻灯片中添加图片
使用免费Python库提供的 ISlide.Shapes.AppendEmbedImageByImageData()
方法,可实现在指定幻灯片中添加图片。操作如下:
- 创建PPT演示文档,并通过
Presentation.Slides[index]
属性获取其中指定幻灯片。 - 加载一张图片,然后指定图片在幻灯片上的位置。
- 通过
ISlide.Shapes.AppendEmbedImageByPath()
方法在幻灯片中添加图片。 - 使用
Presentation.SaveToFile()
方法保存生成的演示文稿。
Python代码:
from spire.presentation.common import *
import math
from spire.presentation import *
# 创建PPT演示文稿
presentation = Presentation()
# 获取第一张幻灯片
slide = presentation.Slides[0]
# 加载一张图片
imageFile = "logo.png"
# 指定图片在幻灯片中的位置
left = math.trunc(presentation.SlideSize.Size.Width / float(2)) -100
rect1 = RectangleF.FromLTRB (left, 120, 180 + left, 300)
# 在幻灯片上添加嵌入式图片
image = slide.Shapes.AppendEmbedImageByPath (ShapeType.Rectangle, imageFile, rect1)
# 设置图片的外框线为无填充效果
image.Line.FillType = FillFormatType.none
# 保存PPT文档
presentation.SaveToFile("PPT图片.pptx", FileFormat.Pptx2016)
presentation.Dispose()
生成文档:
Python 删除PPT幻灯片中的图片
要删除PowerPoint幻灯片中的所有图片则需要先遍历幻灯片中的每一个形状,找出形状中的图片类型 (SlidePicture
),再通过 ISlide.Shapes.Remove(Index)
来删除图片。操作如下:
- 使用
Presentation.LoadFromFile()
方法加载PPT文档。 - 通过
Presentation.Slides[index]
属性获取指定幻灯片。 - 使用 for 循环来遍历指定幻灯片上的所有形状。
- 判断当前形状是否是为
SlidePicture
类型(图片),如果是,则使用ISlide.Shapes.Remove(Index)
来删除图片。 - 使用
Presentation.SaveToFile()
方法保存生成的演示文稿。
Python代码:
from spire.presentation.common import *
from spire.presentation import *
# 加载PPT文件
ppt = Presentation()
ppt.LoadFromFile("PPT图片.pptx")
# 获取第一张幻灯片
slide = ppt.Slides[0]
# 遍历幻灯片中的所有形状
for i in range(slide.Shapes.Count - 1, -1, -1):
# 判断当前形状是否为图片(SlidePicture)
if isinstance(slide.Shapes[i], SlidePicture):
# 如果是图片,则从幻灯片中移除该形状
slide.Shapes.RemoveAt(i)
# 保存结果文件
ppt.SaveToFile("删除PPT图片.pptx", FileFormat.Pptx2016)
ppt.Dispose()
通过以上示例能实现通过Python添加、删除PowerPoint图片。此外,该免费库还支持编辑、替换现有图片,以及提取PPT图片等。