在日常办公和数据处理中我们经常需要从 PowerPoint 演示文稿中提取素材比如图片和文本内容。手动复制粘贴不仅效率低还容易出错。今天我就来介绍如何使用 Python 轻松实现从 PPT 中提取图片和文本。准备工作首先你需要安装 Spire.Presentation for Python。可以通过 pip 命令进行安装pip install Spire.Presentation安装完成后就可以开始编写代码了。从 PPT 中提取图片很多时候PPT 里的图片是我们需要的素材。下面的代码演示了如何批量提取 PPT 中的所有图片并保存到本地from spire.presentation.common import * from spire.presentation import * # 创建 Presentation 实例 ppt Presentation() # 加载 PowerPoint 文档 ppt.LoadFromFile(sample.pptx) # 遍历文档中的所有图片 for i, image in enumerate(ppt.Images): # 提取并保存图片 ImageName ExtractImage/Images_ str(i) .png image.Image.Save(ImageName) ppt.Dispose()代码解析Presentation()创建 PPT 文档对象LoadFromFile()加载需要处理的 PPT 文件ppt.Images获取文档中所有图片的集合image.Image.Save()将图片保存为 PNG 格式运行后所有图片会按顺序保存到ExtractImage文件夹下命名为 Images_0.png、Images_1.png 等。从 PPT 中提取文本除了图片提取文本内容也是常见需求。下面的代码可以遍历每一张幻灯片提取所有形状中的文字from spire.presentation import * from spire.presentation.common import * # 创建 Presentation 对象 pres Presentation() # 加载 PowerPoint 演示文稿 pres.LoadFromFile(Sample.pptx) text [] # 遍历每一张幻灯片 for slide in pres.Slides: # 遍历每个形状 for shape in slide.Shapes: # 判断形状是否为 IAutoShape 类型可包含文本 if isinstance(shape, IAutoShape): # 提取形状中的文本 for paragraph in shape.TextFrame.Paragraphs: text.append(paragraph.Text) # 将提取的文本写入文件 with open(output/SlideText.txt, w, encodingutf-8) as f: for s in text: f.write(s \n) pres.Dispose()代码解析pres.Slides获取所有幻灯片的集合slide.Shapes获取每张幻灯片中的所有形状IAutoShape代表可以包含文本的自动形状类型shape.TextFrame.Paragraphs获取形状中的段落集合最终将所有文本写入 SlideText.txt 文件每行一个段落注意事项资源释放使用完 Presentation 对象后务必调用 Dispose() 方法释放资源避免内存泄漏。文件路径确保 PPT 文件路径正确保存图片和文本的目录需要提前创建或使用代码自动创建。文本编码写入文本文件时使用 utf-8 编码可以正确处理中文等非英文字符。图片格式Save() 方法保存的图片默认为 PNG 格式如需其他格式可以参考官方文档。形状类型文本提取时只处理了 IAutoShape 类型如果文本位于表格、图表等其他形状中需要额外处理。总结通过 Spire.Presentation for Python我们可以用十几行代码就完成 PPT 中图片和文本的批量提取工作。这个库功能强大且易于使用非常适合自动化办公场景。希望这篇文章能帮助你提高工作效率如果你有更多关于 PPT 自动化处理的需求比如创建 PPT、修改内容、添加图表等Spire.Presentation 还提供了更多丰富的功能等待你去探索。