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

首先,我們需要遍歷PPT文件中的每一個幻燈片,如下:
# 遍歷PPT文件中的每一個幻燈片
for slide in prs.slides:
# 在此處添加代碼
這段代碼的作用是:
for slide in prs.slides:是用一個for循環(huán)來遍歷PPT文件對象prs中的每一個幻燈片對象slide,我們可以通過這個對象來訪問和修改幻燈片的內容和格式。
然后,我們需要遍歷每一個幻燈片中的每一個形狀,判斷是否是包含文本的形狀,如果是,就獲取其內部的文本框對象,如下:
# 遍歷每一個幻燈片中的每一個形狀
for shape in slide.shapes:
# 判斷是否是包含文本的形狀
if shape.has_text_frame:
# 獲取其內部的文本框對象
text_frame = shape.text_frame
# 在此處添加代碼
最后,我們需要遍歷每一個文本框中的每一個段落,獲取其文本內容和格式,然后將其寫入到Word文檔中,如下:
# 遍歷每一個文本框中的每一個段落
for paragraph in text_frame.paragraphs:
# 獲取其文本內容和格式
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文檔,參數WORD_FILE是我們定義的Word文檔的名稱,你可以在你的電腦上找到這個文件。
總結
本文介紹了如何使用python-pptx和python-docx庫來將PPT中的文字提取到Word中。
本文通過一個實際的場景,演示了如何遍歷PPT文件中的每一個幻燈片,每一個形狀,每一個文本框,每一個段落,獲取其文本內容和格式,然后將其寫入到Word文檔中。
到此這篇關于Python實現批量提取PPT中的文字的文章就介紹到這了,更多相關Python提取PPT文字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決python 3 urllib 沒有 urlencode 屬性的問題
今天小編就為大家分享一篇解決python 3 urllib 沒有 urlencode 屬性的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

