使用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)容,更多關于Python提取PPT文本內(nèi)容的資料請關注腳本之家其它相關文章!
相關文章
Pytorch:dtype不一致問題(expected dtype Double but&
這篇文章主要介紹了Pytorch:dtype不一致問題(expected dtype Double but got dtype Float),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02python與matlab一些常用函數(shù)互轉(zhuǎn)問題
這篇文章主要介紹了python與matlab一些常用函數(shù)互轉(zhuǎn),包括十六進制字節(jié)流數(shù)據(jù)的相關知識,本文通過示例代碼給大家講解的非常詳細,需要的朋友可以參考下2022-12-12