Communitygithub.com

yb2460/cli-anything-wps

WPS Office 命令列工具 — 以 JSON 資料驅動 PPT 自動生成,並可操控 WPS 文字、表格與簡報。

cli-anything-wps 是什麼?

這是一個專為 AI Agent 設計的 WPS Office 命令列工具,透過 Windows COM 自動化介面,讓開發者能從命令列直接操控 WPS 文書、試算表與簡報軟體。其核心亮點在於 JSON 資料驅動的 PPT 自動生成流程:使用者可先撰寫包含文字、圖表、表格與卡片等元素的 JSON 檔案,再透過一條命令一鍵產出符合專業版面的 PPTX 與 PDF 文件。工具支援多種設計預設(如學術、諮詢、商業、科技),並內建 5 維度品質審查機制。目前僅支援 Windows 系統與 WPS Office 12.0 以上版本,並需依賴 Python 3.10+ 與 pywin32 套件。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yb2460/harness-anything/tree/master/cli_anything/wps/skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

cli-anything-wps 是做什麼的?

透過 COM 自動化介面操控 WPS Office 的命令列工具。支援 WPS 文書(Writer)、WPS 試算表(Calc)與 WPS 簡報(Impress)。

前置條件

  • Windows 作業系統
  • WPS Office(已安裝,版本 12.0+)
  • Python 3.10+
  • pywin32:pip install pywin32

安裝

pip install -e .
cli-anything-wps --help

JSON 資料驅動 PPT 自動生成 ⭐ 生產環境核心工作流程

這是最常用的模式:搜資料 → 生成 matplotlib 圖表 → 寫 JSON → WPS COM 一鍵生成。

完整流程(6步驟)

1. 提取模板背景: 模版.pptx → template_bg.png (960x540)
2. WebSearch 搜尋資料: 招生分數線/學科排名/招生計畫/科研資料
3. matplotlib 生成圖表: 長條圖/圓餅圖/折線圖/橫向長條/氣泡圖
4. 編寫 data.json: 12-15 頁 elements[] 編排(標題≤4字 + 間距≥24pt)
5. python build_xxx.py: WPS COM 逐頁建構
6. 輸出: PPTX + PDF 雙格式

標準頁序

S1 封面 → S2 目錄 → S3-S10 內容頁(圖+表+卡片) → S11 總結卡片 → S12 致謝

元素類型路由

type用途
text文字方塊
image圖片(含 matplotlib 圖表)
table表格
cards_2x32行x3列彩色卡片
cards_1x4_info4列數字統計卡
card_list_wide目錄編號清單
tagline_bar頁面底部總結條

關鍵約束 ⚠️

  • 標題與內容間距:標題 y=14 h=40(結束於 y≈54),第一個內容元素必須起始於 y≥76-78(≥24pt gap)
  • 標題最多4字,居中,SimHei 40-44pt,品牌色,無裝飾線
  • JSON 中文引號:文字內引用用「」代替 ""
  • 所有元素不出畫布:960×540,y+h≤518
  • WPS COM:Fill.ForeColor.RGB,SaveAs(path, 32) 匯出 PDF
  • 執行前清理:taskkill //F //IM wps.exe //T

參考案例

WPS/ 目錄下16個專案:

專案頁數主題
清華協和/蘭州大學/同濟醫學院/哈工大/重慶大學/南華大學12頁各校招生
中山大學/中科大/國科大15頁名校招生
復旦大學12頁新工科+醫學院
南科大腫瘤醫院12頁聯合培養碩博
北大/清華/南科大/華中科大/浙大城市學院9-14頁各校介紹
# 完整執行範例
python -c "import zipfile; ..."  # 提取模板
python gen_charts.py              # 生成圖表
python -c "import json; json.load(open('data.json','r',encoding='utf-8'))"  # 驗證 JSON
taskkill //F //IM wps.exe //T
python build_xxx.py               # 建構 PPTX+PDF

CLI 命令結構

wps
├── document          # 文件管理: new/open/save/info
├── writer            # 文書: add-paragraph/heading/list/table/image
├── calc              # 試算表: set-cell/get-cell/set-range/merge-cells
├── impress           # 簡報: add-slide/remove-slide/set-content/add-element
├── style             # 樣式: create/modify/list/apply/remove
├── preset            # 設計預設: list/info/apply
├── export            # 匯出: render output.pptx -p pptx
└── session           # 工作階段: status/undo/redo/history

使用範例

# 建立文件
cli-anything-wps document new --type writer --name "報告" -o report.json
cli-anything-wps --project report.json writer add-heading -t "年度報告" -l 1
cli-anything-wps --project report.json export render report.docx -p docx

# JSON 模式(Agent 使用)
cli-anything-wps --json document new --type writer --name "test"

設計預設

預設配色適用場景
academic深藍#1A3C8B學術答辯/基金申請
consultant深藍#003366+亮青諮詢報告
business商務藍#005294會議彙報/教材
tech近黑#0F1423科技/AI/資料報告

品質審查(5維度)

維度檢查項門檻值
visual字型層級/對比度/留白70分
pedagogy敘事弧/預備知識75分
proofreading拼寫/術語/溢出80分
parityPPTX/PDF 一致性85分
substance資料準確性/引用90分

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能