當前位置: 妍妍網 > 碼農

Python辦公神器:教你批次提取PPT中的文字

2024-03-19碼農

介紹

  • 本文將介紹如何使用 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 的最全資料。