在编辑或更新大型演示文稿时,手动定位和修改特定的文本元素可能是一项繁琐且耗时的工作。通过使用 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
Python 替换 PowerPoint 中第一个特定文本
要替换 PowerPoint 文档中特定文本的第一次出现,您可以遍历文档中的所有幻灯片,然后调用 ISlide.ReplaceFirstText() 方法。具体步骤如下:
- 创建一个 Presentation 对象。
- 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
- 遍历 PowerPoint 文档中的所有幻灯片。
- 使用 ISlide.ReplaceFirstText() 方法将特定文本的第一次出现替换为新文本。
- 使用 Presentation.SaveToFile() 方法保存结果文档。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation对象
ppt = Presentation()
#加载演示文稿数据
ppt.LoadFromFile("输入文档.pptx")
# 遍历每个幻灯片对象
for slide in ppt.Slides:
# 替换幻灯片中第一个文本框中的内容,将"for Python"替换为"Product",不区分大小写
slide.ReplaceFirstText("for Python", "Product", False)
# 只替换第一个幻灯片的文本,然后退出循环
break
# 保存文件,文件格式为PPTX2013
ppt.SaveToFile("替换第一个文本.pptx", FileFormat.Pptx2013)
# 释放演示文稿资源
ppt.Dispose()
Python 替换 PowerPoint 中所有特定文本
要替换 PowerPoint 文档中特定文本的所有出现,您可以遍历文档中的所有幻灯片,然后使用 ISlide.ReplaceAllText() 方法。具体步骤如下:
- 创建一个 Presentation 对象。
- 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 文档。
- 遍历 PowerPoint 文档中的所有幻灯片。
- 使用 ISlide.ReplaceAllText() 方法将特定文本的所有出现替换为新文本。
- 使用 Presentation.SaveToFile() 方法保存结果文档。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation对象
ppt = Presentation()
# 加载演示文稿数据
ppt.LoadFromFile("输入文档.pptx")
# 遍历每个幻灯片对象
for slide in ppt.Slides:
# 替换当前幻灯片中所有文本框中的内容,将"for Python"替换为"Product",不区分大小写
slide.ReplaceAllText("for Python", "Product", False)
# 保存文件,文件格式为PPTX2013
ppt.SaveToFile("替换全部文本.pptx", FileFormat.Pptx2013)
# 释放演示文稿资源
ppt.Dispose()
Python 使用正则表达式替换 PowerPoint 中的文本
Spire.Presentation for Python 提供了 IShape.ReplaceTextWithRegex() 方法,用于替换与正则表达式模式匹配的文本。具体步骤如下:
- 创建一个 Presentation 对象。
- 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
- 遍历 PowerPoint 文档中的所有幻灯片。
- 遍历每张幻灯片上的所有形状。
- 使用 IShape.ReplaceTextWithRegex() 方法替换与正则表达式模式匹配的文本。
- 使用 Presentation.SaveToFile() 方法保存结果文档。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个Presentation对象
ppt = Presentation()
# 加载演示文稿数据
ppt.LoadFromFile("正则文档.pptx")
# 遍历每个幻灯片对象
for slide in ppt.Slides:
# 遍历幻灯片中的每个形状对象
for shape in slide.Shapes:
# 使用正则表达式将形状中符合模式 "#{.*?}" 的文本替换为 "Spire.Presentation for Python"
shape.ReplaceTextWithRegex(Regex("#{.*?}"), "Spire.Presentation for Python")
# 保存文件,文件格式为PPTX2013
ppt.SaveToFile("使用正则替换文本.pptx", FileFormat.Pptx2013)
# 释放演示文稿资源
ppt.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。