AI 工具 16 min read ★ Featured

Claude Code 怎麼做出「好看又可編輯」的 PPT?pptx skill 四支柱實作

AI 能做可編輯的 PPT 早不是問題,難的是「好看」。python-pptx 本身很樸素——沒圓角、沒陰影、內建模板還很醜,質感不是工具給的,是設計出來的。這篇拆解我用 Claude Code 官方 pptx skill 把樸素預設做成專業簡報的四個支柱:配色系統(60-30-10、十組現成調色盤)、字型層次(type scale、襯線配無襯線)、版型與留白(對齊網格 + 重複視覺母題)、配圖(codex 生圖),外加最決定好看的 render 驗收 loop(把 .pptx 逐頁 render 成圖用眼睛抓醜),以及四個踩坑。截圖都是真的用 python-pptx 產、真的 render 出來的。

Claude Code 怎麼做出「好看又可編輯」的 PPT?pptx skill 四支柱實作
本文目錄 · 11
TL;DR
- 用 Claude Code 的官方 pptx skill 可以產出又好看又可編輯的 .pptx——底層 python-pptx,每個文字框、色塊都是原生 PowerPoint 元素,打開就能改,不是圖片貼死。
- 但 python-pptx 本身很樸素(沒圓角、沒陰影、內建模板很醜),「好看」不是工具給的,是設計出來的。這篇主線就是拆解「怎麼設計得好看」:配色系統、字型層次、版型留白、配圖,四個可以照抄的實作。
- 好看的最後一哩是驗收:把 .pptx render 成逐頁圖用眼睛抓醜(爆版、蓋字、對不齊)。盲寫看不到,第一版幾乎一定醜,render loop 才是把它救回好看的關鍵。

📌 目錄

⚡ 「好看」才是難的那一半

「AI 能不能做 PPT」這問題其實早就有答案了——能,而且能做出可編輯的。真正卡住大家的是下一題:做出來的東西好不好看

我看過太多 AI 產的簡報,兩種極端:一種是「整頁一張圖」,漂亮但改不動;另一種是可編輯,但醜得像工程師隨手拉的——左上角一個標題、一排 bullet、白底,毫無設計。我要的是中間那塊:能進 PowerPoint 反覆改、而且看起來有設計過

用 Claude Code 的 pptx skill,可編輯是免費送的(後面一段講完就帶過);難的是好看。而 python-pptx 這工具沒有任何美化外掛——沒有圓角、沒有陰影、內建模板還很醜。所以這篇不花時間吹工具,而是拆解我實際做的事:用四個支柱把樸素的預設,設計成看起來專業的簡報。文章裡的投影片截圖,都是我這次真的用 python-pptx 產、真的 render 出來的,不是示意圖。

🔧 先把「可編輯」這個前提講完

好看要建立在「可編輯」上,否則改一個字都得整頁重生,再好看也是半成品。這段快速交代,之後全篇聚焦好看。

pptx 是 Anthropic 官方 skill,底層呼叫 python-pptx 寫程式組出真正的 .pptx。關鍵差別在它用原生元件、不是把整頁畫成圖:

  • 文字用真文字框(add_textbox)——打開能點、能選、能改字、能換字型。
  • 色塊、分隔線、卡片用原生 shape(add_shape)——能拉大小、換顏色。
  • 只有配圖才是圖片(add_picture)——圖本來就該是圖。
用 python-pptx 產出的標題頁,深底加黃色側邊條,原生文字框可編輯

上面這張標題頁,深色背景是一個 shape、左邊黃條是一個 shape、標題跟副標各是一個文字框。在 PowerPoint 打開,每一樣都能直接改——因為它們本來就是那些元件,不是一張截圖

安裝跟依賴一次講完:

# 裝官方 pptx skill(在 Claude Code 內執行)
# /plugin install pptx@anthropic-skills

# 本機依賴(macOS 範例)
pip install "python-pptx" "markitdown[pptx]" Pillow
brew install libreoffice poppler

依賴用途驗證
python-pptx 1.0+產檔python3 -c "import pptx; print(pptx.__version__)"
LibreOffice(soffice)驗收:render 成圖which soffice
Poppler(pdftoppm)驗收:PDF 轉逐頁圖which pdftoppm
裝好後,用白話跟 Claude 講「幫我做一份 X 主題的簡報,幾頁、給誰看」,skill 會自動觸發——它是 skill 不是 command,不用打斜線。好,前提交代完,下面全部講好看。

🎨 好看第一支柱:配色系統

配色是「一眼看起來有沒有設計過」影響最大的一項。醜簡報通常敗在顏色太多、彼此打架、沒有主從。做法:

用一套現成調色盤,不要自己憑感覺配。 pptx skill 內建十組專業調色盤(Midnight Executive、Forest & Moss、Coral Energy⋯),挑一組跟主題氣質對的。上面截圖用的是 Midnight Executive:

  • 主色(深 navy #1E2761):佔 60–70% 視覺重量,標題頁 / 結論頁的背景。
  • 輔色(ice blue #CADCFC):內容區塊、次要文字。
  • 一個銳利 accent(mustard #F5D547):只用在「要你看這裡」的地方——側邊條、關鍵數字、強調詞。accent 貴在稀有,整頁只點一兩處。
60-30-10 法則:一個顏色主導、一個輔助、一個點綴,比例大概 6:3:1。不要每個顏色平均分配,那是最容易顯得雜亂的做法。

深淺三明治:標題頁跟結論頁用深底,中間內容頁用淺底。這個明暗節奏會讓整份簡報有「起承轉合」的呼吸感,而不是二十頁一樣的白。

在程式裡就是把這幾個色碼定成常數,全篇引用同一組——顏色一致,是「像同一個設計師做的」的第一個訊號:

NAVY  = RGBColor(0x1E, 0x27, 0x61)   # 主色
ICE   = RGBColor(0xCA, 0xDC, 0xFC)   # 輔色
ACCENT= RGBColor(0xF5, 0xD5, 0x47)   # 點綴,稀有使用

🔠 好看第二支柱:字型層次

第二個一眼判死的地方是字。醜簡報的字級距不夠、字型太隨便——標題跟內文差不多大,整頁像一坨。好看的關鍵是製造清楚的層次

別用預設 Arial/Calibri 當標題。 skill 推薦的配對是襯線配無襯線,例如 Georgia(標題)+ Calibri(內文)——標題有個性、內文好讀,兩者對比本身就是設計。

拉開級距(type scale),別讓相鄰層級太接近:

角色建議級數作用
大標題(封面)40–54pt一眼抓住
頁標題28–36pt每頁的錨點
內文 / bullet14–18pt好讀為上限
註解 / footer10–12pt退到背景
級距拉開,眼睛才知道「先看哪、後看哪」。視覺層次(hierarchy)就是替讀者決定閱讀順序——這是設計跟排字的根本差別。

同一頁字型別超過兩種、字級別超過三種。 克制,是好看的隱形骨架。

📐 好看第三支柱:版型與留白

排版看的是對齊、留白、跟一個貫穿全場的視覺母題

留白不是浪費,是呼吸。 新手最愛把版面塞滿——結果每一樣都在喊、就等於沒有重點。四周留足邊界(margin),元素之間留間距(gutter),讓內容自己浮出來。上面那張標題頁如果把字塞到貼邊,質感立刻掉一半。

對齊到一條隱形的網格。 所有文字框、色塊的左緣對齊同一條垂直線,標題基線對齊同一條水平線。差幾個 pixel 肉眼就覺得「怪怪的但說不上來」——那就是沒對齊。(python-pptx 有個文字框內距的坑會害你對不齊,見後面踩坑。)

一個重複的視覺母題,貫穿每一頁。 這是「整份像同一套設計」最強的手法。例如我固定「每個頁標題左邊都有一根 accent 色的粗條」:

# 每頁標題左邊固定一根 accent 粗條 —— 重複母題
bar = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE,
        Inches(0.6), Inches(0.55), Inches(0.12), Inches(0.5))
bar.fill.solid(); bar.fill.fore_color.rgb = ACCENT
bar.line.fill.background()          # 去掉外框線
bar.shadow.inherit = False          # 關掉預設陰影(見踩坑)

同一根粗條出現在每一頁,大腦就會把整份簡報讀成「有系統的一套東西」,而不是二十張各做各的投影片。

🖼️ 好看第四支柱:配圖

純文字頁最容易被跳過,也最容易顯得單薄。每頁最好都有一個視覺元素——不一定是照片,一根分隔線、一個大數字、一塊色卡都算。

要放插圖 / 封面圖 / 章節背景,別用內建 clipart(那是醜的來源之一)。我走 codex 的 image_gen 生圖(直接落地到指定路徑),再用 add_picture 塞進去,風格跟主題對得上、也跟其他頁一致:

slide.shapes.add_picture("cover-art.png", Inches(7), Inches(1),
                          width=Inches(5.5))

配圖的原則跟前面一致:服務層次,不是裝飾。圖是用來引導視線、填視覺重量的,不是塞好塞滿。一張切題的大圖 + 大量留白,遠勝一堆小 icon 擠成一團。

🔍 讓它真的好看的最後一哩:render 驗收 loop

前面四支柱寫進程式,不代表畫出來就好看。 python-pptx 最反直覺的地方:你寫程式時是盲寫——看不到成品。中文字有沒有爆版、accent 色塊有沒有蓋到字、對齊有沒有跑掉、留白夠不夠,程式碼上完全看不出來。第一版 render 出來幾乎一定有醜的地方。

所以好看的最後一哩不是「寫得漂亮」,是「把醜的地方一輪一輪抓出來修」:

# .pptx → PDF → 逐頁圖
soffice --headless --convert-to pdf deck.pptx
pdftoppm -jpeg -r 150 deck.pdf slide
# 產出 slide-1.jpg、slide-2.jpg ⋯ 逐頁開圖用眼睛看
用 python-pptx 產出的內容頁,原生文字框與色塊,render 成圖逐頁檢查排版

skill 官方的態度很直白:假設一定有問題,你的工作是把它找出來,不是確認它對了。而且建議用 subagent 用新的眼睛看——盯著自己寫的程式太久,腦補的樣子會蓋過實際畫出來的樣子。抓到問題就修,修完重新 render 那幾頁再看,直到一輪掃過沒有新醜點才算完。

這一步最沒有捷徑,卻最決定成品好不好看。螢幕上的正確只有眼睛能驗——型別過、程式跑完,都不等於好看。

🕳️ 我踩到的坑

坑一:shape 預設帶陰影,質感被拖髒

python-pptx 加的 shape 會繼承版面的陰影。我第一版 demo 的 accent 色塊莫名多了一圈陰影,跟乾淨的設計調性打架、整個顯髒。每個 shape 都要明確關掉:

sp.shadow.inherit = False   # 不加就會有一圈預設陰影

坑二:想要圓角 / 陰影卡片?官方就是不支援

精緻圓角卡片、柔和陰影——python-pptx 做不到,這是明確限制,不是你寫錯。想要這類效果:換 shape 類型繞、接受樸素、或直接用生成圖當背景把效果畫進圖裡。別在這耗時間。

坑三:文字框內距害你對不齊

文字框預設有 padding,你想讓色塊邊緣對齊文字第一個字,結果差幾個 pixel——就是這個內距在作怪,而對不齊正是「看起來不專業」的隱形殺手。四邊 margin 設 0:

tf.margin_left = 0; tf.margin_right = 0
tf.margin_top = 0;  tf.margin_bottom = 0

坑四:不 render 就交,好看歸零

最大的坑是以為程式碼對了、成品就好看了。中文字爆版、色塊蓋字、footer 撞內容——這些只有 render 成圖用眼睛看才抓得到。鐵律:沒 render、沒逐頁看過,不算做完

❓ 常見問題 FAQ

Q1:python-pptx 這麼樸素,真能做出好看的簡報?
能,但好看不是工具給的,是設計出來的。工具負責「可編輯」,好看靠四支柱:配色系統、字型層次、版型留白、配圖,加上 render 驗收 loop 把醜點抓出來修。工具樸素反而逼你把設計做對,而不是依賴內建特效。

Q2:我要用 /pptx 指令觸發嗎?
不用。pptx 是 skill 不是 slash command。你用白話講「幫我做一份 X 主題、幾頁、給誰看的簡報」,Claude 會自動判斷語意觸發,不需要打斜線。

Q3:最影響好看的單一因素是什麼?
配色跟層次。顏色收斂成一套(60-30-10)、字級距拉開(標題 vs 內文差一倍以上),這兩件做對,就從「工程師隨手拉」跳到「有設計過」。其次是留白跟對齊。

Q4:能套公司品牌配色 / 模板嗎?
可以。pptx skill 支援讀既有模板套版型、品牌色;也可以做一份自訂 skill 把公司配色、字型固定進去,之後每次生自動套。2026 年 2 月的 Office add-in 更進一步,會先讀你的 slide master 再生。

Q5:一定要裝 LibreOffice 嗎?
產檔只需要 python-pptx,但要做到好看就一定要裝——LibreOffice(soffice)+ Poppler(pdftoppm)是把 .pptx render 成圖的驗收鏈。不 render 就看不到醜點,好看無從談起。

🔗 延伸資源

author
陳彥彤

AI 工程師 · AI 顧問。Java 後端 8 年、AI 工程師 2 年。AI 內訓 · AI 導入顧問 · 前後端與雲端培訓。

support

覺得文章有用可以到 GitHub 給個 star,或是透過信箱聊聊 AI 內訓、AI 導入顧問或前後端 / 雲端培訓。

related

相關文章

[AI 教學] · 26min
我把 AI 課程簡報全做成 HTML 丟上 GitHub Pages:popularize-slides 開源拆解
我在職訓局教 4 堂 AI Claude Code 概論初級班,把簡報全寫成 HTML 而不是 Keynote / Slidev / Reveal.js,丟在 GitHub Pages 上跑。本文拆解:為什麼放棄 Keynote、為什麼不用 Slidev、設計系統(深色 + 黃金 accent + 襯線標題)、部署用一條 push 指令、學生 clone 下來雙擊就能看(沒有 npm install)。Repo 全開源,歡迎 fork 改成你的教學內容。
[Claude Code] · 8min
Anthropic pptx Skill 完整教學:叫 Claude Code 做簡報,12 分鐘從逐字稿生成 .pptx
別再用 ChatGPT 做簡報。Anthropic 官方開源的 pptx Skill 可以在 Claude Code 裡一句話從逐字稿生 .pptx 檔,內建設計指南、自動視覺 QA。本文實測 12 分鐘完成 30 頁簡報,含安裝、模板、emoji 踩坑、跟 Slidev / Marp 的對照。
[AI 工具] · 19min
CodeGraph vs grep:AI 讀 codebase 少 81% 工具呼叫的知識圖譜
CodeGraph 把整個 codebase 預先建成一張「程式碼知識圖譜」(symbol 節點 + call 邊),讓 Claude Code、Codex、Cursor 這類 AI agent 不用一個一個檔案爬,一次 codegraph_explore 就拿到相關 source、call path 跟改動波及範圍。官方在 7 個真實開源專案實測:VS Code 少 81% tool call、少 64% token,Alamofire 便宜 40%、快 33%。這篇把它是什麼、三層架構(tree-sitter + SQLite + file watcher)、安裝三件套、跟 grep / LSP 的差別、以及我接的時候要注意的點寫一遍。100% 本機跑、MIT、支援 23 種語言、8 個 agent。