使用Python快速提取PPT中的文本內(nèi)容的代碼示例
直接提取PPT中的文本內(nèi)容可以方便我們進行進一步處理或分析,也可以直接用于其他文檔的編撰。通過使用Python程序,我們可以快速批量提取PPT中的文本內(nèi)容,從而實現(xiàn)高效的信息收集或?qū)ζ渲械臄?shù)據(jù)進行分析。本文將介紹如何使用Python程序提取PowerPoint演示文稿中的文本內(nèi)容,包括幻燈片中的主體文本、幻燈片備注文本以及幻燈片。
本文所使用的方法需要用到Spire.Presentation for Python,可從官網(wǎng)下載或通過PyPI安裝:pip install Spire.Presentation。
用Python提取PPT幻燈片文本
在PPT幻燈片中,文本內(nèi)容放置在各種形狀中,如文本框、圖形。我們可以先獲取幻燈片中的形狀,再提取其中的文本,從而實現(xiàn)對幻燈片文本內(nèi)容的提取。以下是操作步驟:
- 創(chuàng)建 Presentation 對象并使用 Presentation.LoadFromFile() 方法載入PPT。
- 遍歷PPT中的幻燈片,然后遍歷幻燈片中的形狀。
- 判斷形狀是否為 IAutoShape 實例。如果是,則通過 IAutoShape.TextFrame.Paragraphs 獲取其中的段落,再通過 Paragraph.Text 屬性獲取段落中的文本。
- 將文本寫入到文本文件。
代碼示例:
Python
從 spire.presentation 導入 *
從 spire.presentation.common 導入 *
# 創(chuàng)建 Presentation 類的對象
pres = Presentation()
# 加載 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")
text = []
# 循環(huán)遍歷每個幻燈片
對于 slide 在 pres.Slides 中:
# 循環(huán)遍歷每個形狀
對于 shape 在 slide.Shapes 中:
# 檢查形狀是否為 IAutoShape 實例
如果 isinstance(shape, IAutoShape):
# 從形狀中提取文本
對于 paragraph 在 shape.TextFrame.Paragraphs 中:
text.append(paragraph.Text)
# 將文本寫入文本文件
f = open("output/幻燈片文本.txt", "w", encoding='utf-8')
對于 s 在 text 中:
f.write(s + "\n")
f.close()
pres.Dispose()
提取結(jié)果:

用Python提取PPT備注文本
備注是基于幻燈片添加的額外信息,可以對演講者進行引導或提示,且不會展示給觀眾?;脽羝膫渥Υ嬖?NotesSlide 對象中,可以通過 ISlide.NotesSlide 屬性獲取。再獲取到改對象之后,就可以使用 NotesSlide.NotesTextFrame.Text 屬性提取其中的文本了。以下是操作步驟:
- 創(chuàng)建 Presentation 對象并使用 Presentation.LoadFromFile() 方法載入PPT。
- 遍歷PPT中的幻燈片,通過 ISlide.NotesSlide 屬性獲取 NotesSlide 對象,再通過 NotesSlide.NotesTextFrame.Text 屬性提取備注文本。
- 將文本寫入文本文件。
代碼示例:
Python
從 spire.presentation 導入 *
從 spire.presentation.common 導入 *
# 創(chuàng)建 Presentation 類的對象
pres = Presentation()
# 加載 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")
notes_list = []
# 循環(huán)遍歷每個幻燈片
對于 slide 在 pres.Slides 中:
# 獲取備注幻燈片
notes_slide = slide.NotesSlide
# 獲取備注內(nèi)容
notes = notes_slide.NotesTextFrame.Text
notes_list.append(notes)
# 將備注寫入文本文件
f = open("output/備注文本.txt", "w", encoding="utf-8")
對于 note 在 notes_list 中:
f.write(note)
f.write("\n")
f.close()
pres.Dispose()
提取結(jié)果:

用Python提取PPT批注文本
我們還可以通過 ISlide.Comments 屬性獲取PPT幻燈片中的批注,并通過 Comment.Text 屬性獲取批注中的文本。以下是操作步驟:
- 創(chuàng)建 Presentation 對象并使用 Presentation.LoadFromFile() 方法載入PPT。
- 遍歷幻燈片,通過 ISlide.Comments 屬性獲取每張幻燈片中的批注的集合。
- 遍歷批注,通過 Comment.Text 屬性提取批注中的文本。
- 將文本寫入到文本文件。
代碼示例:
Python
from spire.presentation import *
from spire.presentation.common import *
# 創(chuàng)建 Presentation 類的對象
pres = Presentation()
# 加載一個 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")
comments_list = []
# 遍歷所有幻燈片
for slide in pres.Slides:
# 獲取幻燈片中的所有評論
comments = slide.Comments
# 遍歷評論
for comment in comments:
# 獲取評論文本
comment_text = comment.Text
comments_list.append(comment_text)
# 將評論寫入文本文件
f = open("output/批注文本.txt", "w", encoding="utf-8")
for comment in comments_list:
f.write(comment + "\n")
f.close()
pres.Dispose()
提取結(jié)果:

總結(jié)
本文介紹了如何使用Python提取幻燈片中的文本內(nèi)容,包括提取幻燈片文本、備注文本以及批注文本。
文中使用的API還支持其他的很多PPT處理操作,請前往Spire.Presentation for Python教程了解更多PPT操作。
以上就是使用Python快速提取PPT中的文本內(nèi)容的代碼示例的詳細內(nèi)容,更多關(guān)于Python提取PPT文本內(nèi)容的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pytorch:dtype不一致問題(expected dtype Double but&
這篇文章主要介紹了Pytorch:dtype不一致問題(expected dtype Double but got dtype Float),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
python與matlab一些常用函數(shù)互轉(zhuǎn)問題
這篇文章主要介紹了python與matlab一些常用函數(shù)互轉(zhuǎn),包括十六進制字節(jié)流數(shù)據(jù)的相關(guān)知識,本文通過示例代碼給大家講解的非常詳細,需要的朋友可以參考下2022-12-12

