87 lines
4.5 KiB
Markdown
87 lines
4.5 KiB
Markdown
|
|
# 官方 pptx skill vs ppt-station skill 对比
|
|||
|
|
|
|||
|
|
## 定位差异
|
|||
|
|
|
|||
|
|
| 维度 | 官方 `pptx` | `ppt-station` |
|
|||
|
|
|------|------------|---------------|
|
|||
|
|
| 设计哲学 | 通用 PPT 编辑工具箱 | 金融/养老金报告生成流水线 |
|
|||
|
|
| 目标用户 | 任何需要操作 .pptx 的场景 | 需要从数据批量生成图表报告的场景 |
|
|||
|
|
| 技术栈 | Python (XML 直操) + Node.js (PptxGenJS) | 纯 Python (python-pptx + lxml) |
|
|||
|
|
| 抽象层级 | 低层:直接操作 XML 节点 | 高层:声明式配置 → 自动渲染 |
|
|||
|
|
|
|||
|
|
## 工作流对比
|
|||
|
|
|
|||
|
|
| 能力 | 官方 `pptx` | `ppt-station` |
|
|||
|
|
|------|------------|---------------|
|
|||
|
|
| 从零创建 | PptxGenJS (JS) — 手动定位每个元素 | PageComposer 主题+布局,声明式添加页面 |
|
|||
|
|
| 模板编辑 | unpack → 编辑 XML → clean → pack | `generate_ppt.py` 占位符替换(`{变量}` `{@图:名}`) |
|
|||
|
|
| 解析已有 PPT | `markitdown` (纯文本) + `unpack` (原始 XML) | `parse_ppt.py` → 结构化 JSON + `ChartParser` 图表逆向 |
|
|||
|
|
| 声明式编排 | 无 | Job JSON + `run_job.py`(数据源→变换→幻灯片) |
|
|||
|
|
| 数据接入 | 无内置 | CSV / Excel / Tushare 三种连接器 |
|
|||
|
|
| 图表 | PptxGenJS 基础图表 (bar/line/pie) | ChartBuilder 组合图表(双轴、8 配色、6 日期轴预设) |
|
|||
|
|
| 智能推荐 | 无 | ChartAdvisor 自动分析 DataFrame 列名推荐配置 |
|
|||
|
|
| 风格提取 | 无 | StyleExtractor 从参考 PPT 提取视觉 DNA |
|
|||
|
|
| QA 验证 | soffice → PDF → 图片 → 视觉检查(成熟流程) | `describe_chart.py` 结构检查(无视觉 QA) |
|
|||
|
|
| XSD 校验 | 内置 ISO-IEC29500 schema 验证 + auto-repair | 无 |
|
|||
|
|
|
|||
|
|
## 脚本工具对比
|
|||
|
|
|
|||
|
|
| 功能 | 官方 `pptx` | `ppt-station` |
|
|||
|
|
|------|------------|---------------|
|
|||
|
|
| 解包/打包 | `unpack.py` / `pack.py`(带验证+修复) | 无(用 python-pptx 高层 API) |
|
|||
|
|
| 缩略图 | `thumbnail.py` → grid 图 | 无 |
|
|||
|
|
| 幻灯片操作 | `add_slide.py` / `clean.py` | PageComposer `add_page()` |
|
|||
|
|
| 模板分析 | `markitdown` + `thumbnail.py` | `parse_template.py` |
|
|||
|
|
| 图表分析 | 无专用工具 | `describe_chart.py` |
|
|||
|
|
| 预设查询 | 无 | `list_presets.py` |
|
|||
|
|
| PDF 转换 | `soffice.py` + `pdftoppm` | 无 |
|
|||
|
|
|
|||
|
|
## 文档质量对比
|
|||
|
|
|
|||
|
|
| 维度 | 官方 `pptx` | `ppt-station` |
|
|||
|
|
|------|------------|---------------|
|
|||
|
|
| 设计指导 | 丰富 — 配色方案、字体搭配、布局建议、"避免 AI slop" 设计哲学 | 无设计指导 |
|
|||
|
|
| QA 流程 | 完整 — 内容 QA + 视觉 QA + 验证循环,强制使用 subagent 复查 | 基础 — 仅结构验证 |
|
|||
|
|
| Pitfalls 文档 | 详细 — XML 格式、smart quotes、模板适配、multi-item 处理 | 简要 — 关键约束 4 条 |
|
|||
|
|
| 参考文档 | 3 个核心文档 (SKILL.md / editing.md / pptxgenjs.md) | 8 个参考文档(按工作流分拆) |
|
|||
|
|
|
|||
|
|
## 各自独有优势
|
|||
|
|
|
|||
|
|
### 官方 `pptx` 独有
|
|||
|
|
|
|||
|
|
- XSD schema 验证 + auto-repair(ISO-IEC29500 标准)
|
|||
|
|
- 视觉 QA 流程(soffice → PDF → 图片 → subagent 检查)
|
|||
|
|
- 设计美学指导(配色理论、字体搭配、布局原则)
|
|||
|
|
- PptxGenJS 从零创建(不依赖模板)
|
|||
|
|
- Smart quotes 处理
|
|||
|
|
- 缩略图 grid 预览
|
|||
|
|
- DOCX/XLSX 也能处理(通用 Office 工具)
|
|||
|
|
|
|||
|
|
### `ppt-station` 独有
|
|||
|
|
|
|||
|
|
- 金融数据自动化管线(Tushare 接入 → DataFrame 变换 → 图表)
|
|||
|
|
- 双轴组合图表(bar+line+area,主轴/次轴自动分配)
|
|||
|
|
- 日期轴 6 种预设(解决了 PPT 日期轴 1900 年问题)
|
|||
|
|
- 养老金图表 4 种预设
|
|||
|
|
- Job JSON 声明式编排(数据源+变换+渲染一站式)
|
|||
|
|
- ChartAdvisor 智能推荐(列名→图表类型自动推断)
|
|||
|
|
- StyleExtractor 风格提取(参考 PPT → 可复用配置)
|
|||
|
|
- PageComposer 主题系统(midnight/forest/coral/charcoal)
|
|||
|
|
- ChartParser 图表逆向工程(从已有图表提取完整配置)
|
|||
|
|
|
|||
|
|
## 互补性分析
|
|||
|
|
|
|||
|
|
两个 skill 几乎零重叠,适合组合使用:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
官方 pptx ppt-station
|
|||
|
|
──────── ──────────
|
|||
|
|
从零创建精美布局 (PptxGenJS) ←→ 数据驱动图表生成 (ChartBuilder)
|
|||
|
|
XML 级精细编辑 (unpack/pack) ←→ 声明式批量渲染 (Job JSON)
|
|||
|
|
视觉 QA (soffice+pdftoppm) ←→ 结构化图表分析 (describe_chart)
|
|||
|
|
XSD 校验 + auto-repair ←→ 金融数据管线 (Tushare)
|
|||
|
|
设计美学指导 ←→ 中文金融领域预设
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**推荐组合方式**:用 `ppt-station` 做数据→图表→报告的自动化生成,用官方 `pptx` 的 QA 流程做最终视觉质量检查,用其设计指导优化布局美感。
|