在处理数字文档时,您经常需要查找和替换内容中的特定文本。如果在共享文档之前要审查一条信息,则可能需要这样做。为了以编程方式完成此任务,本文介绍了如何在 Python 中查找和替换 PowerPoint PPT 或 PPTX 中的文本。
用于在 PowerPoint PPT 中查找和替换文本的 Python 库
Aspose.Slides for Python via .NET 是一个了不起的库,它简化了从 Python 应用程序中对 PowerPoint 演示文稿的操作。此外,您可以无缝地从头开始创建丰富的演示文稿。我们将使用这个库来查找和替换 PPT/PPTX 文件中的文本。您可以使用以下 pip 命令从 PyPI 安装库。
> pip install aspose.slides
使用 Python 在 PowerPoint PPT 中查找和替换文本
要替换演示文稿中的特定文本,您必须浏览所有幻灯片的内容,这很容易使用 Aspose.Slides。以下是在 Python 中查找和替换 PPTX 演示文稿中的文本的步骤。
- 首先,使用 Presentation 类加载 PowerPoint PPT/PPTX。
- 然后,使用 Presentation.slides 集合循环浏览幻灯片。
- 在每次迭代中,使用 SlideUtil.getalltextboxes(slide) 方法获取幻灯片的文本框。
- 循环遍历文本框并在每次迭代中执行以下操作:
- 循环浏览文本框架中的段落。
- 访问每个段落中的文本部分。
- 检查文本部分是否包含搜索字符串。
- 如果是,找到搜索字符串的位置并替换文本。
- 使用 Presentation.save(string, SaveFormat) 方法保存更新的 PPT。
以下代码示例演示如何在 Python 中查找和替换 PowerPoint PPTX 中的文本。
import aspose.slides as slides
# 加载演示
with slides.Presentation("presentation.pptx") as pres:
strToFind = "Master"
strToReplaceWith = "[replaced]"
# 循环浏览每张幻灯片
for slide in pres.slides:
# 获取幻灯片中的所有文本框
tf = slides.util.SlideUtil.get_all_text_boxes(slide)
# 循环遍历文本框
for i in range(len(tf)):
# 循环浏览文本框中的段落
for para in tf[i].paragraphs:
# 循环遍历段落中的文本部分
for port in para.portions:
# 检查搜索字符串是否出现在文本部分
if strToFind in port.text:
# 用新文本替换现有文本
str = port.text
idx = str.index(strToFind)
strStartText = str[0: idx]
strEndText = str[idx + len(strToFind): len(str)]
port.text = strStartText + strToReplaceWith + strEndText
# 保存演示文稿
pres.save("find-and-replace-text.pptx", slides.export.SaveFormat.PPTX)
以下屏幕截图显示了输入的 PowerPoint 演示文稿。
下面是替换文本后生成的演示文稿的屏幕截图。
Python PowerPoint 库 - 获得免费许可证
您可以通过请求 临时许可证 通过 .NET 使用 Aspose.Slides for Python,而不受评估限制。
结论
在本文中,您学习了如何在 Python 中查找和替换 PowerPoint PPT 中的文本。您可以安装 Aspose.Slides 并自动从 Python 应用程序中查找和替换文本。此外,您可以阅读 文档 以了解更多关于 Aspose.Slides for Python 的信息。此外,您可以将您的查询发布到我们的 论坛。
也可以看看
- 在 Python 中创建 PowerPoint 文件
- 在 Python 中将文本或图像水印添加到 PowerPoint PPT
- 在 Python 中将动画效果应用于 PowerPoint PPT 中的文本
信息:Aspose 最近开发了一项免费的在线 Text to GIF 服务,允许您为文本制作动画或从简单文本生成 GIF。