Python實現(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ù)你自己的文件名進行修改。WORD_FILE
是我們要寫入文字的Word文檔的名稱,你可以根據(jù)你自己的喜好進行修改。FONT_NAME
是我們要使用的字體的名稱,你可以根據(jù)你自己的喜好進行修改。FONT_SIZE
是我們要使用的字體的大小,你可以根據(jù)你自己的喜好進行修改。
接下來,我們需要加載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中。
本文通過一個實際的場景,演示了如何遍歷PPT文件中的每一個幻燈片,每一個形狀,每一個文本框,每一個段落,獲取其文本內(nèi)容和格式,然后將其寫入到Word文檔中。
到此這篇關(guān)于Python實現(xiàn)批量提取PPT中的文字的文章就介紹到這了,更多相關(guān)Python提取PPT文字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 實現(xiàn)LeNet網(wǎng)絡(luò)模型的訓(xùn)練及預(yù)測
本文將為大家詳細講解如何使用CIFR10數(shù)據(jù)集訓(xùn)練模型以及用訓(xùn)練好的模型做預(yù)測。代碼具有一定價值,感興趣的小伙伴可以學(xué)習(xí)一下2021-11-11python 列表輸出重復(fù)值以及對應(yīng)的角標(biāo)方法
今天小編就為大家分享一篇python 列表輸出重復(fù)值以及對應(yīng)的角標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python利用SSH隧道實現(xiàn)數(shù)據(jù)庫訪問
這篇文章主要為大家詳細介紹了如何通過sshtunnel類庫建立SSH隧道,再使用paramiko通過SSH來訪問數(shù)據(jù)庫,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03解決python 3 urllib 沒有 urlencode 屬性的問題
今天小編就為大家分享一篇解決python 3 urllib 沒有 urlencode 屬性的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08