AI 做的 PowerPoint 字級改不了?
用 LibreOffice 修復文字結構

給使用 Codex Presentations skill 產生 PPTX,卻遇到文字字級「一改就跳回」的人。一個已有成功案例的修復流程,原有版面與文字仍可保留。

症狀:能改文字,卻改不了大小

本案例試過關閉 AutoFit、移除縮放比例、重新指定字級與調整文字方塊屬性,仍未解決。有效的處理方式是重新產生文字的內部格式結構。

解法:轉檔重整文字,再移回原版面

利用 LibreOffice 讀入、轉存,取得重新產生的文字結構,再由 Codex 將需要的部分移回原始簡報。

PPTX 副本 → ODP → PPTX → 移回文字結構

  1. 保留原檔,建立工作副本。兩次轉檔分別輸出到不同暫存目錄。
  2. 用 LibreOffice 轉為 ODP,再轉回 PPTX。以不開啟介面的 headless 模式執行即可。
  3. 只移回對應的文字結構。由 Codex 比對頁碼、物件與位置,更新文字內容容器,保留原始幾何位置、尺寸、圖片、填色與外框。
  4. 將文字格式明確寫入各文字區段。先解析原有格式,再移除段落預設字級繼承;明確指定字級、字型、顏色與語言,補齊段落結尾格式,並關閉自動縮放。
  5. 另存修正版並檢查。確認版面沒有溢出或重疊,再於 PowerPoint 修改字級、儲存及重開,確認設定保留。
轉檔是取得乾淨文字結構的中間步驟。不要直接用整份轉檔結果取代原檔,以免影響母片、動畫或其他版面設定;也不需要手動重打文字。

如果原本有字型縮放比例,應先將各段文字的字級乘上比例,再關閉縮放,避免修復後突然變大。混合字級、多段落、項目符號及超連結也要保留,不能把整個文字方塊全部套成相同格式。

Windows 最小安裝:官方主程式就夠

安裝符合電腦架構的 LibreOffice 官方穩定版。這裡的「最小」是最少額外依賴,不必找特殊精簡包;headless 是主程式的啟動模式。

Windows 命令列優先使用 soffice.com,一般位於 C:\Program Files\LibreOffice\program\soffice.com。先執行 --version,再使用 --headless --convert-to 轉檔;每次工作使用獨立的暫存設定目錄,避免與使用中的 LibreOffice 衝突。

官方參考:Windows 安裝說明 · 系統需求與 Java 說明 · 命令列參數

複製給 Codex

將待修復的 PPTX 提供給桌面 Codex,再貼上以下指令。

修復指令 · 純文字
請修復附件 PPTX:原有文字方塊修改字級會跳回,新插入的正常;關閉 AutoFit、移除 fontScale、單純重設字級曾無效。請實際批次處理,保留原檔,另存修正版。

環境:先沿用現有 LibreOffice;沒有才安裝符合 Windows 架構的官方穩定版主程式,保留 Impress/共用元件。不另裝 Java、SDK、離線說明、WSL、Docker,不更改 Office 預設程式或開機常駐。使用 soffice.com,先確認 --version;依正常 UAC 流程安裝。

已成功的修法:
1. 建立副本,以獨立可寫入的設定目錄執行 -env:UserInstallation=<file URI> --headless --convert-to odp --outdir <目錄A> <副本.pptx>;完成後再 --convert-to pptx --outdir <目錄B> <產生的.odp>。依序執行,檢查退出碼及新輸出檔。
2. 從轉回的 PPTX 取得 p:txBody,移回原檔對應文字物件;以頁碼、名稱、位置配對,不能只靠文字或假設 ID 不變。保留原 p:spPr、圖片、母片及動畫;不要整份替換為轉檔結果。
3. 先解析每個 run 的有效格式,再將格式明確寫入 a:rPr,移除段落 a:defRPr 的字級繼承;設定 sz、字型、顏色、粗體及正確 lang,補齊 a:endParaRPr。保留多段落、混合字級、項目符號、超連結與欄位。
4. 保留 a:bodyPr 的邊界、方向與 anchor,使用 a:noAutofit。移除縮放前,按 fontScale 換算各 run 的字級,並處理 lnSpcReduction 對行距的影響。
5. 成功案例另將普通文字方塊設為 p:cNvSpPr txBox="1",移除 noGrp 鎖定及 p:cNvPr 的 creationId 擴充,但保留 id/name。依物件用途處理,不盲刪其他鎖定或擴充資料。
6. 比對內容與版面;在測試副本中用本機 PowerPoint 修改字級、儲存、重開,確認保留。可用 COM 自動化,並在可操作 UI 時測試字級選單。測試字級不得留在交付檔。

交付可編輯修正版,簡述實際驗證結果;確認有效後,修正原產生程式,避免重新輸出又帶回同樣問題。