【python-pptx徹底解說】自動化 PowerPoint 簡報資料的方法

1. 什麼是 python-pptx?

python-pptx 是一個 Python 函式庫,可讓您直接從 Python 程式創建、編輯和儲存 PowerPoint 簡報。透過它,您可以省去繁瑣的手動操作,自動根據數據生成動態簡報內容,並提高重複性工作的效率。

1.1 python-pptx 的主要用途

  • 自動化簡報製作:可根據數據自動生成投影片,適用於會議、報告等需求。
  • 高效的編輯工作:可以向現有的 PowerPoint 檔案添加投影片或文字,快速更新簡報內容。

1.2 使用 Python 操作 PowerPoint 的優勢

與傳統的手動編輯方式相比,透過 python-pptx,您可以實現簡報的自動化處理。例如,一次性生成大量投影片,或定期製作報告,從而顯著減少工作時間。

2. python-pptx 的安裝與設定

2.1 安裝步驟

安裝 python-pptx 非常簡單,只需執行以下指令即可完成安裝:

pip install python-pptx

如果您的 Python 環境尚未配置完成,您可以使用 conda 來設置環境並安裝函式庫。

2.2 python-pptx 的基本結構

首先,請導入函式庫,並使用 Presentation() 類別來建立新的簡報檔案,這是操作 PowerPoint 的基本步驟:

from pptx import Presentation

prs = Presentation()

執行此程式碼後,將建立一個新的簡報,接下來可以開始新增投影片與文字內容。

3. 建立與儲存簡報

3.1 建立新的簡報

首先,我們來介紹如何使用 python-pptx 建立並儲存簡報檔案。以下的程式碼將建立一個新的簡報檔案並將其儲存:

from pptx import Presentation

prs = Presentation()
prs.save('new_presentation.pptx')

執行這段程式碼後,PowerPoint 檔案將以指定的名稱儲存在當前目錄中。

3.2 新增投影片的方法

要在簡報中新增投影片,可以使用 add_slide() 方法。PowerPoint 提供 11 種不同的投影片佈局供選擇。

slide_layout = prs.slide_layouts[0]  # 選擇標題投影片
slide = prs.slides.add_slide(slide_layout)

這段程式碼將根據指定的佈局新增一張新的投影片。

4. 操作投影片內容

4.1 插入與格式化文字

要在投影片中插入文字,可以使用預設的佔位符(如標題與副標題)。此外,也可以透過 TextFrame 物件來調整文字格式。以下範例示範如何插入標題與副標題:

title = slide.shapes.title
subtitle = slide.placeholders[1]

title.text = "簡報標題"
subtitle.text = "副標題內容"

此外,還可以修改文字格式,例如調整字體大小、顏色,或添加換行符號:

title.text = "使用 Python
自動生成的投影片"

4.2 新增圖片與圖形

要在投影片中插入圖片,可以使用 add_picture() 方法,並指定圖片的位置與大小:

from pptx.util import Inches

img_path = 'image.png'
left = Inches(1)
top = Inches(2)
slide.shapes.add_picture(img_path, left, top)

此外,也可以透過程式碼新增 PowerPoint 內建的圖形,並在其中加入文字內容:

from pptx.enum.shapes import MSO_SHAPE
shape = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(1), Inches(1), Inches(2), Inches(1))
shape.text = "圖形內的文字"

 

5. 進階自動化技巧

5.1 自動生成投影片

透過迴圈,您可以根據資料自動生成多張投影片。例如,以下程式碼將根據數據自動建立 10 張投影片:

for i in range(10):
    slide_layout = prs.slide_layouts[1]
    slide = prs.slides.add_slide(slide_layout)
    title = slide.shapes.title
    title.text = f"投影片 {i+1}"

這段程式碼將自動生成 10 張投影片,並為每張投影片添加對應的編號。

5.2 編輯現有的簡報

除了建立新的簡報之外,python-pptx 也可以讀取並編輯現有的 PowerPoint 檔案。例如,以下程式碼將載入一個現有的簡報並修改第一張投影片的標題:

prs = Presentation('existing_presentation.pptx')
slide = prs.slides[0]
title = slide.shapes.title
title.text = "更新後的標題"
prs.save('updated_presentation.pptx')

6. 提升簡報的視覺效果

6.1 套用設計模板

使用 python-pptx 時,可以套用 PowerPoint 的設計模板,以製作外觀更專業的簡報。透過使用現成的模板,可以快速建立美觀的簡報內容。

6.2 設定動畫與投影片轉場效果

如果您希望簡報更具視覺吸引力,可以設定動畫效果或投影片轉場效果。這樣可以讓簡報更加生動,提升觀眾的注意力。

7. 總結

python-pptx 是一款強大的工具,可以大幅減少製作簡報的時間與人力成本。特別適合需要一次性生成大量投影片或基於數據自動生成簡報的應用場景。透過程式自動化,您可以更高效地創建高品質的簡報內容。