Python實(shí)現(xiàn)批量提取PPT中的文字
介紹
- 本文將介紹如何使用
pptx和docx庫來將PPT中的文字提取到Word中。 - 本文假設(shè)你已經(jīng)安裝了python和這兩個庫。
- 本文的場景是:你需要將一個PPT文件中的所有文字內(nèi)容提取出來,并按照原來的格式和順序?qū)懭氲揭粋€Word文檔中。
準(zhǔn)備工作
首先,我們需要導(dǎo)入pptx和docx庫,以及其他一些輔助庫,如下:
import pptx from docx import Document from docx.shared import Pt import os
這些庫的作用是:
pptx庫可以讓我們讀取和修改PPT文件的內(nèi)容和格式。docx庫可以讓我們創(chuàng)建和編輯Word文檔的內(nèi)容和格式。Pt是一個輔助函數(shù),可以將字號轉(zhuǎn)換為磅(point)單位,方便我們設(shè)置字體大小。os庫可以讓我們操作文件系統(tǒng),例如創(chuàng)建目錄,保存文件等。
然后,我們需要定義一些常量,如文件名,字體,顏色等,如下:
# 文件名 PPT_FILE = 'source.pptx' WORD_FILE = 'output.docx' # 字體 FONT_NAME = '宋體' FONT_SIZE = 12
這些常量的作用是:
PPT_FILE是我們要提取文字的PPT文件的名稱,你可以根據(jù)你自己的文件名進(jìn)行修改。WORD_FILE是我們要寫入文字的Word文檔的名稱,你可以根據(jù)你自己的喜好進(jìn)行修改。FONT_NAME是我們要使用的字體的名稱,你可以根據(jù)你自己的喜好進(jìn)行修改。FONT_SIZE是我們要使用的字體的大小,你可以根據(jù)你自己的喜好進(jìn)行修改。
接下來,我們需要加載PPT文件和創(chuàng)建Word文檔對象,如下:
# 加載PPT文件 prs = pptx.Presentation(PPT_FILE) # 創(chuàng)建Word文檔對象 doc = Document()
這些代碼的作用是:
prs = pptx.Presentation(PPT_FILE)是用pptx庫的Presentation類來創(chuàng)建一個PPT文件的對象,我們可以通過這個對象來訪問和修改PPT文件的內(nèi)容和格式。doc = Document()是用docx庫的Document類來創(chuàng)建一個空白的Word文檔的對象,我們可以通過這個對象來添加和編輯Word文檔的內(nèi)容和格式。
提取PPT文字

首先,我們需要遍歷PPT文件中的每一個幻燈片,如下:
# 遍歷PPT文件中的每一個幻燈片
for slide in prs.slides:
# 在此處添加代碼
這段代碼的作用是:
for slide in prs.slides:是用一個for循環(huán)來遍歷PPT文件對象prs中的每一個幻燈片對象slide,我們可以通過這個對象來訪問和修改幻燈片的內(nèi)容和格式。
然后,我們需要遍歷每一個幻燈片中的每一個形狀,判斷是否是包含文本的形狀,如果是,就獲取其內(nèi)部的文本框?qū)ο?,如下?/p>
# 遍歷每一個幻燈片中的每一個形狀
for shape in slide.shapes:
# 判斷是否是包含文本的形狀
if shape.has_text_frame:
# 獲取其內(nèi)部的文本框?qū)ο?
text_frame = shape.text_frame
# 在此處添加代碼
最后,我們需要遍歷每一個文本框中的每一個段落,獲取其文本內(nèi)容和格式,然后將其寫入到Word文檔中,如下:
# 遍歷每一個文本框中的每一個段落
for paragraph in text_frame.paragraphs:
# 獲取其文本內(nèi)容和格式
text = paragraph.text
font = paragraph.font
# 將其寫入到Word文檔中
doc.add_paragraph(text, style=font)
保存Word文檔

最后,我們需要保存生成的Word文檔,如下:
# 保存生成的Word文檔 doc.save(WORD_FILE)
這段代碼的作用是:
doc.save(WORD_FILE)是用Word文檔對象doc的save方法來保存生成的Word文檔,參數(shù)WORD_FILE是我們定義的Word文檔的名稱,你可以在你的電腦上找到這個文件。
總結(jié)
本文介紹了如何使用python-pptx和python-docx庫來將PPT中的文字提取到Word中。
本文通過一個實(shí)際的場景,演示了如何遍歷PPT文件中的每一個幻燈片,每一個形狀,每一個文本框,每一個段落,獲取其文本內(nèi)容和格式,然后將其寫入到Word文檔中。
到此這篇關(guān)于Python實(shí)現(xiàn)批量提取PPT中的文字的文章就介紹到這了,更多相關(guān)Python提取PPT文字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中import的用法陷阱解決盤點(diǎn)小結(jié)
這篇文章主要為大家介紹了Python中import的用法陷阱解決盤點(diǎn)小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Python如何實(shí)現(xiàn)PDF隱私信息檢測
隨著越來越多的個人信息以電子形式存儲和傳輸,確保這些信息的安全至關(guān)重要,本文將介紹如何使用Python檢測PDF文件中的隱私信息,需要的可以參考下2025-02-02
Python 實(shí)現(xiàn)LeNet網(wǎng)絡(luò)模型的訓(xùn)練及預(yù)測
本文將為大家詳細(xì)講解如何使用CIFR10數(shù)據(jù)集訓(xùn)練模型以及用訓(xùn)練好的模型做預(yù)測。代碼具有一定價值,感興趣的小伙伴可以學(xué)習(xí)一下2021-11-11
python 列表輸出重復(fù)值以及對應(yīng)的角標(biāo)方法
今天小編就為大家分享一篇python 列表輸出重復(fù)值以及對應(yīng)的角標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python利用SSH隧道實(shí)現(xiàn)數(shù)據(jù)庫訪問
這篇文章主要為大家詳細(xì)介紹了如何通過sshtunnel類庫建立SSH隧道,再使用paramiko通過SSH來訪問數(shù)據(jù)庫,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
解決python 3 urllib 沒有 urlencode 屬性的問題
今天小編就為大家分享一篇解決python 3 urllib 沒有 urlencode 屬性的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

