在處理數字文檔時,您經常需要查找和替換內容中的特定文本。當在共享文檔之前要審查一條信息時,可能需要這樣做。為了以編程方式完成此操作,本文介紹瞭如何在 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 的信息。此外,您可以將您的問題發佈到我們的論壇。
也可以看看
信息:Aspose 最近開發了一項免費的在線 Text to GIF 服務,允許您將文本動畫化或從簡單文本生成 GIF。