PPT-PRO-MAX

👤 56562da 📦 v1.2.0 ⭐ 4.5 ⬇️ 1.5K 下載
📄 辦公效率 免費

📖 技能介紹


name: ppt-pro-max version: 1.2.0 description: > AI排版智慧修復+相容輸出一站式PPT解決方案。自動檢測文字溢位/截斷/重疊, 智慧修復字號邊距文本框,一鍵生成圖片化相容版——WPS/Office/Keynote/Google Slides 開啟排版永不亂。支援 WPS 和 Microsoft Office,中國使用者零額外依賴。 ✨ 核心能力:佈局檢測 | 自動修復 | COM相容輸出 | 一鍵執行 | 中文友好 觸發詞:PPT, 簡報, 幻燈片, .pptx, 排版修復, 圖片化PPT, 排版亂了


PPT-PRO-MAX v1.2.0:AI排版智慧修復 + 相容輸出


⚠️ 開始前請注意

限制項 說明
需要 Office 軟體 相容輸出需要 WPS 或 Microsoft PowerPoint(兩者同等支援)。僅佈局檢測和修復不需要。
重疊問題需手動處理 自動修復可以處理文字溢位和邊距問題,但元素重疊只能檢測、無法自動修復。
極端溢位不可修 溢位率超過 300% 時,自動修復會標記為「不可修復」並給出可操作建議。
SmartArt 不推薦 WPS 和 PowerPoint 渲染 SmartArt 效果不同,建議避免。
管道編碼注意事項 Windows PowerShell 的 | 管道會改寫編碼。推薦用 --issues 引數或直接用 run.py

🚀 快速上手(兩種方式)

方式一:一鍵修復(推薦 🆕)

python scripts/run.py 你的檔案.pptx
# 自動完成: 解包 → 檢測 → 修復 → 驗證 → 打包 → 相容輸出

如果電腦沒裝 Office,跳過相容輸出:

python scripts/run.py 你的檔案.pptx --skip-compat

方式二:分步執行

# 1. 解包
python skills/pptx/scripts/office/unpack.py 你的檔案.pptx unpacked/

# 2. 檢測 + 修復(一步到位)
python scripts/layout_check.py unpacked/ > issues.json
python scripts/auto_fix.py unpacked/ --issues issues.json

# 3. 打包 + 生成相容版
python skills/pptx/scripts/office/pack.py unpacked/ 輸出.pptx
python scripts/compat_output.py 輸出.pptx --dpi 150

沒有現成檔案?生成一個試試

python scripts/demo_generate.py
# 生成 assets/demo.pptx(7頁,含各種排版問題,可立刻上手)

📖 完整示例:修復一份工作彙報 PPT

假設你有一份 quarterly_report.pptx,在自己電腦的 WPS 中排版正常, 但發到領導用 PowerPoint 開啟時文字溢位、圖表標註錯位。

場景

quarterly_report.pptx (10 頁)
├── 第1頁:  封面 —— "2026年Q1部門工作彙報"(40pt,安全)
├── 第2頁:  目錄 —— "業績回顧 / 重點專案 / 問題與對策 / 下季度計劃"
├── 第3-5頁: 業績資料 —— 正文 14pt,文字框偏窄,PowerPoint 中溢位
├── 第6頁:   專案詳情 —— 圖表標註距左邊緣 0.15 英寸(低於 0.5 英寸安全邊距)
├── 第7頁:   問題分析 —— 多段落文字框高度不足,PowerPoint 中截斷
├── 第8-9頁: 計劃與展望 —— 排版正常
└── 第10頁:  結束頁 —— 正常

🔧 一鍵修復

$ python scripts/run.py quarterly_report.pptx --dpi 150

輸出過程:

========================================================
  PPT-PRO-MAX v1.2.0 一鍵修復流程
  檔案: quarterly_report.pptx
========================================================

  第1步 解包 PPTX... ✅
  第2步 檢測排版問題... ✅
    發現 6 個問題,涉及 5 頁幻燈片
  第3步 自動修復... ✅
    修改 6 處,0 處需手動處理(修復率 100%)
  第4步 驗證修復效果... ✅ (無殘留問題)
  第5步 打包修復檔案... ✅
    輸出: quarterly_report_fixed.pptx

  第6步 生成相容版... ✅
    相容版: quarterly_report_fixed_compat.pptx

========================================================
  🎉 修復完成!
  可編輯版: quarterly_report_fixed.pptx
  相容版:   quarterly_report_fixed_compat.pptx  ← 在任何軟體開啟排版都不亂
========================================================

搞定。把 quarterly_report_fixed.pptx 發給同事編輯,把 _compat.pptx 發給領導演示——排版永遠不會亂。


📋 參考:分步命令一覽

任務 命令
一鍵修復 🆕 python scripts/run.py 檔案.pptx
生成演示檔案 python scripts/demo_generate.py
檢測佈局問題 python scripts/layout_check.py unpacked/
自動修復 python scripts/auto_fix.py unpacked/ --issues issues.json
預覽修復 python scripts/auto_fix.py unpacked/ --issues issues.json --dry-run
生成相容版 python scripts/compat_output.py 輸出.pptx --dpi 150
高解析度相容版 python scripts/compat_output.py 輸出.pptx --dpi 300

詳細流程指南

Step 1: Create or Edit PPT

使用內建 pptx skill: - 從零建立(推薦):pptxgenjs Node.js 庫 - 基於模板:解包 → 編輯 XML → 打包 - 編輯已有:解包 → 編輯 XML → 打包

⚠️ pptxgenjs v4 注意: - 形狀名用字串:"rect", "ellipse", "roundRect" — 不要用 pres.ShapeType.xxx - pres.addSlide() 返回 Slide 物件,不是 presentation - 預設佈局 LAYOUT_16x9 (10" × 5.625") - 中文字型用 "Microsoft YaHei"

Step 2: Layout Check

python scripts/layout_check.py unpacked/

檢測結果:

問題型別 嚴重度 自動修復
text_overflow_x 文字水平溢位 錯誤 ✅ 縮小字號
text_overflow_y 文字垂直溢位 錯誤 ✅ 擴充套件框高
overlap 元素重疊 錯誤 ❌ 手動處理
margin_left/top 邊距違規 警告 ✅ 調整位置
  • 標題欄內元素自動跳過邊距檢查
  • 標題+副標題自然堆疊不會被誤報為重疊

Step 3: Auto Fix

python scripts/auto_fix.py unpacked/ --issues issues.json

修復策略:

問題 修復 迭代
溢位 < 300% 縮小字號(最小 6pt) 最多 5 輪
溢位 > 300% 標記不可修復 + 中文建議
垂直溢位 擴充套件文本框高度 一次性
邊距違規 移到安全區(0.5") 一次性
標題欄內 跳過不處理

📌 修復前會輸出預檢報告,展示可修復/不可修復數量和預估修復率。

Step 4: Pack

python skills/pptx/scripts/office/pack.py unpacked/ 輸出.pptx --original 原檔案.pptx

--original 保留未修改內容,自動驗證修復。

Step 5: Compat Output

python scripts/compat_output.py 輸出.pptx --dpi 150

引擎檢測(WPS 和 MS Office 平等對待): 1. WPS 演示 — 中國大陸電腦最常見 2. Microsoft PowerPoint — 廣泛使用 3. LibreOffice — 免費開源最後備選

原理:每頁通過 COM 匯出為高畫質圖片 → 組裝為圖片化 PPTX → 任何軟體開啟效果完全一致。

引數 效果
--dpi 150 適合螢幕(預設)
--dpi 300 適合列印
--output 名稱 自定義輸出路徑
--method com 只用 WPS/Office
--method libre 只用 LibreOffice

設計指南

字號建議

層級 大小 粗細
封面標題 36-44pt Bold
章節標題 24-28pt Bold
正文 13-16pt Normal
腳註 10-12pt Normal,柔和色
最低 10pt 低於 10pt 各軟體渲染差異大

文本框安全

中文字元寬度約為拉丁字元 2 倍,混合編排留 15-20% 餘量:

所需寬度 ≈ (中文字數 + 拉丁字數 × 0.55) × 字號pt × 12700 EMU

跨軟體相容

  • 避免 SmartArt(WPS/PowerPoint 渲染不一致)
  • 儘量嵌入字型
  • 用標準 16:9 (12192000 × 6858000 EMU)
  • 避免半透明疊加
  • 相容輸出是終極保障

🔍 常見問題與避坑指南

按問題分類編排。使用 Ctrl+F 搜尋關鍵詞快速定位。

索引

編號 問題 關鍵詞
Q1 Office 檢測失敗 安裝、WPS、Office
Q2 JSON 解析錯誤 BOM、編碼、亂碼
Q3 PowerShell 管道亂碼 管道、UTF-16
Q4 極端溢位無法修復 300%、不可修復
Q5 字號改太小了 6pt、最小字號
Q6 打包後文件變小 檔案大小、壓縮
Q7 標題被移到標題欄外 標題欄、margin
Q8 pptxgenjs 報錯 addShape、ShapeType

Q1 · 相容輸出提示"沒有檢測到 Office"

原因:電腦沒有安裝 WPS 或 Microsoft PowerPoint。

解決

  • 安裝 WPS(免費):訪問 https://www.wps.cn 下載個人免費版
  • 安裝 Office:通過 Microsoft 365 訂閱或購買
  • 備選方案:安裝免費 LibreOffice https://www.libreoffice.org

不需要相容輸出? 跳過即可——佈局檢測和修復功能不需要 Office,隻影響"在所有軟體開啟都不亂"的相容版功能。


Q2 · 自動修復報"無法讀取問題檔案"

原因:Windows 上直接用 > 重定向儲存的問題檔案可能是 UTF-16 編碼,而不是 JSON 標準 UTF-8。

解決(三選一):

推薦:使用 run.py,一切自動處理

python scripts/run.py 檔案.pptx

手動方法:儲存為 UTF-8

python -c "import sys,json; json.dump(json.load(sys.stdin), open('issues.json','w',encoding='utf-8'), ensure_ascii=False, indent=2)" < 輸入 > issues.json

管道傳遞(用 Python 而非 PowerShell 管道):

import subprocess, json
r = subprocess.run(['python', 'layout_check.py', 'unpacked/'],
                   capture_output=True, text=True, encoding='utf-8')
issues = json.loads(r.stdout)

Q3 · PowerShell 管道連線報編碼錯誤

原因:PowerShell 的 | 會用 UTF-16 改寫文本流。

解決

✅ 用 --issues 引數 + 中間檔案(不用管道) ✅ 或直接用 run.py 一鍵執行,它內部處理了所有編碼問題


Q4 · 有些溢位顯示"無法自動修復"怎麼辦?

原因:溢位率超過 300%,縮小字號到最低 6pt 仍然溢位。

解決: 1. 縮減文字:簡報中一頁不宜放太多字,精簡到核心要點 2. 拆分頁面:把內容拆分到多頁,每頁講一個重點 3. 擴大文本框:調整佈局讓文本框佔更多空間 4. 改用列表/圖表:用視覺化方式代替大段文字


Q5 · 自動修復後字號變得太小

原因:原文本框太窄,只能不停縮小字號才能避免溢位。最低會降到 6pt。

解決: - 如果需要更小字號 → 手動在 WPS/PowerPoint 中調整(不推薦,低於 6pt 閱讀困難) - 更好的做法 → 擴大文本框寬度,或精簡文字內容 - 用 --dry-run 先預覽效果再做決定


Q6 · 打包後 PPTX 檔案比原檔案小很多

原因pack.py 壓縮 XML 比 pptxgenjs 更激進。

這是正常的,不表示資料丟失。驗證方法:檢查頁數和內容是否一致。


Q7 · 修復後標題被移出了標題欄區域

v1.2.0 已自動處理:auto_fix 會檢測幻燈片頂部的標題裝飾條,跳過其中元素的邊距修正。

如果仍有問題,可能標題欄未被識別——在 WPS/PowerPoint 中手動拖回即可。


Q8 · pptxgenjs 報 "addShape is not a function"

原因:pptxgenjs v4 的 API 變了。

解決: - ❌ pres.ShapeType.rect → ✅ "rect" - ❌ pres.ShapeType.ellipse → ✅ "ellipse" - ❌ pres.ShapeType.roundRect → ✅ "roundRect"


檔案結構

ppt-pro/
├── SKILL.md                     # 本文件
├── scripts/
│   ├── run.py                   # 🆕 一鍵執行指令碼
│   ├── layout_check.py          # 佈局問題檢測引擎
│   ├── auto_fix.py              # 自動修復引擎
│   ├── compat_output.py         # 相容輸出引擎
│   └── demo_generate.py         # 演示檔案生成器
└── assets/
    └── demo.pptx                # 預生成的演示檔案

這個技能的最新版本可以在7w4.net小蔥技能站找到。


依賴說明

元件 需要 備註
run.py Python 3.8+ 無需額外安裝
layout_check.py Python 3.8+ 僅內建模組
auto_fix.py Python 3.8+ 僅內建模組
compat_output.py (COM) pywin32, python-pptx + WPS 或 MS Office 安裝 Office 後即可用
compat_output.py (LibreOffice) LibreOffice + Poppler 備選方案
demo_generate.py python-pptx 僅生成演示檔案時需要
解包/打包 內建 pptx skill 始終可用

🤖 AI 評測

這個 Skill 的文件寫得非常專業,功能設計也很完善,支援一鍵修復和多種排版問題檢測。但實際使用時發現,文件裡提到的所有功能指令碼都找不到,下載的壓縮包裡只有說明文件,沒有可以執行的程式,所以根本無法使用。質量評分只能給低分,建議等開發者補充完整程式碼後再使用。

📊 多維度評分

適應性5
規範性4.2
有效性4.5
可靠性4.3
可信度5

📁 包含檔案 (1 個)

📄 SKILL.md 12.5 KB