演示文稿已成为商务会议、学术报告和教育培训中不可或缺的一部分,而PowerPoint演示文稿作为行业标准工具,更是承载着无数创意与信息的载体。然而,无论是因为品牌指南的更新、数据的最新变化,还是简单地为了提升演示效果,我们都可能面临需要在大量幻灯片中替换特定文本的需求。手动完成这一任务不仅耗时且容易出错,特别是在面对成百上千页的大型演示文稿时。使用Python语言能够高效、准确地自动化文本替换过程。本文将介绍如何使用Python来精确查找并替换PowerPoint演示文稿中的文本,包括普通查找替换以及正则表达式查找替换,实现高效的演示文稿管理。

  • 用Python查找PPT中的制定文本并替换所有查找结果
  • 用Python通过正则表达式在PPT中替换文本

本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install Spire.Presentation

申请免费License

用Python查找PPT中的制定文本并替换所有查找结果

循环一个PowerPoint演示文稿中的所有幻灯片,并使用ISlide.ReplaceFirstText()方法来查找替换特定文本在该幻灯片中的所有匹配项,即可实现对幻灯片中指定文本的替换。对于英文文本,我们还可以在替换时设置是否忽略大小写。
以下是操作步骤:

  1. 导入PresentationFileFormat模块。
  2. 创建Presentation对象。
  3. 使用Presentation.LoadFromFile()方法载入PowerPoint演示文稿。
  4. 循环浏览演示文稿中的所有幻灯片:

    • 使用ISlide.ReplaceAllText()方法将特定文本的所有匹配项替换为新文本。
  5. 使用Presentation.SaveToFile()方法保存结果文件。
  6. 释放资源。

代码示例

from spire.presentation import Presentation, FileFormat

# 创建一个 Presentation 对象的实例
presentation = Presentation()

# 加载一个 PowerPoint 文件
presentation.LoadFromFile("示例.pptx")

# 遍历演示文稿中的所有幻灯片
for slide in presentation.Slides:
    # 替换幻灯片中所有指定的文本实例
    slide.ReplaceAllText("气候变化", "全球变暖", False)

# 保存演示文稿
presentation.SaveToFile("output/替换演示文稿中的文本.pptx", FileFormat.Pptx2019)
# 释放资源
presentation.Dispose()

替换结果
Python查找替换PPT文本

用Python通过正则表达式在PPT中替换文本

IShape.ReplaceTextWithRegex()方法可以替换与正则表达式模式匹配的文本。 循环所有幻灯片以及幻灯片中的所有形状,再使用此方法进行替换,即可实现通过正则表达式替换特定文本的操作。
操作步骤如下:

  1. 导入PresentationFileFormat模块。
  2. 创建Presentation对象。
  3. 使用Presentation.LoadFromFile()方法载入PowerPoint演示文稿。
  4. 循环浏览演示文稿中的所有幻灯片并循环幻灯片中的所有形状:

    • 使用IShape.ReplaceTextWithRegex()方法替换与正则表达式匹配的文本。
  5. 使用Presentation.SaveToFile()方法保存结果文件。
  6. 释放资源。

代码示例

from spire.presentation import Presentation, FileFormat, Regex

# 创建一个 Presentation 对象的实例
presentation = Presentation()

# 加载一个 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")

# 遍历演示文稿中的所有幻灯片
for slide in presentation.Slides:
    # 遍历幻灯片中的形状
    for shape in slide.Shapes:
        # 用正则表达式替换形状中匹配的文本
        shape.ReplaceTextWithRegex(Regex("#\w+"), "显示器")

# 保存演示文稿
presentation.SaveToFile("output/正则表达式替换演示文稿中的文本.pptx", FileFormat.Pptx2019)
# 释放资源
presentation.Dispose()

替换结果
Python正则表达式替换PPT文本

本文介绍了如何使用Python在PowerPoint演示文稿中查找替换指定文本,包括普通替换与正则表达式替换。
更多PowerPoint演示文稿处理技巧请前往Spire.Presentation for Python教程查看。


大丸子
12 声望3 粉丝