介紹
本文將介紹如何使用
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
庫可以讓我們建立和編輯Word文件的內容和格式。
Pt
是一個輔助函式,可以將字號轉換為磅(point)單位,方便我們設定字型大小。
os
庫可以讓我們操作檔案系統,例如建立目錄,保存檔等。
然後,我們需要定義一些常量,如檔名,字型,顏色等,如下:
# 檔名
PPT_FILE = 'source.pptx'
WORD_FILE = 'output.docx'
# 字型
FONT_NAME = '宋體'
FONT_SIZE = 12
這些常量的作用是:
PPT_FILE
是我們要提取文字的PPT檔的名稱,你可以根據你自己的檔名進行修改。
WORD_FILE
是我們要寫入文字的Word文件的名稱,你可以根據你自己的喜好進行修改。
FONT_NAME
是我們要使用的字型的名稱,你可以根據你自己的喜好進行修改。
FONT_SIZE
是我們要使用的字型的大小,你可以根據你自己的喜好進行修改。
接下來,我們需要載入PPT檔和建立Word文件物件,如下:
# 載入PPT檔
prs = pptx.Presentation(PPT_FILE)
# 建立Word文件物件
doc = Document()
這些程式碼的作用是:
prs = pptx.Presentation(PPT_FILE)
是用
pptx
庫的
Presentation
類來建立一個PPT檔的物件,我們可以透過這個物件來存取和修改PPT檔的內容和格式。
doc = Document()
是用
docx
庫的
Document
類來建立一個空白的Word文件的物件,我們可以透過這個物件來添加和編輯Word文件的內容和格式。
提取PPT文字
首先,我們需要遍歷PPT檔中的每一個投影片,如下:
# 遍歷PPT檔中的每一個投影片
for slide in prs.slides:
# 在此處添加程式碼
這段程式碼的作用是:
for slide in prs.slides:
是用一個
for
迴圈來遍歷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文件中。
Sora最近老火了,Sora 的出現會對短視訊、廣告、遊戲、影視行業等產業格局一定會被重塑,目前 Sora 還沒正式開放註冊,大家看到的使用體驗大部份都來自官網,或者少部份的使用者分享。
為了避免更多讀者受騙,我們直接給大家整了一個免費的。
註意是下面【 Python都知道 】公眾號,不是本公眾號,點選下方的公眾號卡片,然後回復【 sora 】 ,即可獲取最新 Sora 的最全資料。
目前已經分享了,如何申請 Sora 的內測,以及最新關於 Sora 的技術特點,使用教程、變現機遇等等。
大家如果想領取這份資料,可以點選下方的公眾號卡片,然後回復 【 sora 】 ,即可獲取最新 Sora 的最全資料。
需要提醒大家的是,Sora 目前還沒有完全開放,任何市面上付費的一些課程,都請大家謹慎選擇。
可以確定的是:未來 10-20年,一定是 AI 的大風口、大時代,如果錯過了公眾號、錯過了抖音、錯過了小紅書。
請一定不要錯過 AI +。
面對浪潮,恐懼只會讓我們佇立在原地,被巨浪吞噬。
要去主動適應它,不被恐懼束縛,動起胳膊動起腳,才不會被淘汰。
註意是下面【 Python都知道 】公眾號,不是本公眾號,點選下方的公眾號卡片,然後回復 【 sora 】 ,即可獲取最新 Sora 的最全資料。