Files
ppt-agent-skill/README.md
sunbigfly e860485ec8 修复svg2pptx转换器多项bug + 新增管线兼容性文档
svg2pptx.py:
- 修复image opacity不生效(通过OOXML alphaModFix)
- 修复环形图stroke渐变url(#id)引用不支持(fallback第一个stop颜色)
- 修复viewBox内缩放不传递(g组scale累积到所有子元素)
- 修复text baseline偏移(区分text-after-edge和auto)
- 修复text-anchor:middle/end的x坐标偏移
- 添加--html-dir参数支持

html2svg.py:
- 修复图片相对路径解析(以HTML文件所在目录为基准)
- 新增3种CSS兜底预处理(background-clip:text、text-fill-color、mask-image)

新增 references/pipeline-compat.md:
- HTML->SVG->PPTX管线兼容性规则文档
- CSS禁止清单、防偏移写法指南、防偏移checklist
- 已整合到SKILL.md和prompts.md中引用

prompts.md:
- 新增内联SVG防偏移约束(禁SVG text、用HTML叠加)

示例产物:
- ppt-output/ 包含SU7示例的完整HTML/SVG/PPTX产物
2026-03-21 03:57:23 +08:00

109 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PPT Agent Skill
**[English](README_EN.md)**
> 模仿万元/页级别 PPT 设计公司的完整工作流,输出高质量 HTML 演示文稿 + 可编辑矢量 PPTX。
## 工作流概览
```
需求调研 → 资料搜集 → 大纲策划 → 策划稿 → 风格+配图+HTML设计稿 → 后处理(SVG+PPTX)
```
## 效果展示
> 以「新一代小米SU7发布」为主题的示例输出小米橙风格
| 封面页 | 配置对比页 |
|:---:|:---:|
| ![封面页](ppt-output/png/slide_01_cover.png) | ![配置对比](ppt-output/png/slide_02_models.png) |
| 动力续航页 | 智驾安全页 |
|:---:|:---:|
| ![动力续航](ppt-output/png/slide_03_power.png) | ![智驾安全](ppt-output/png/slide_04_smart.png) |
| 结束页 |
|:---:|
| ![结束页](ppt-output/png/slide_05_end.png) |
## 核心特性
| 特性 | 说明 |
|------|------|
| **6步Pipeline** | 需求 → 搜索 → 大纲 → 策划 → 设计 → 后处理,模拟专业 PPT 公司工作流 |
| **8种预置风格** | 暗黑科技 / 小米橙 / 蓝白商务 / 朱红宫墙 / 清新自然 / 紫金奢华 / 极简灰白 / 活力彩虹 |
| **Bento Grid 布局** | 7 种卡片式灵活布局,内容驱动版式 |
| **智能配图** | AI 生成配图 + 5 种视觉融入技法(渐隐融合/色调蒙版/氛围底图等) |
| **排版系统** | 7 级字号阶梯 + 间距层级 + 中英文混排规则 |
| **色彩比例** | 60-30-10 法则 + accent 色使用约束 |
| **数据可视化** | 8 种纯 CSS/SVG 图表(进度条/环形图/迷你折线/点阵图/KPI 卡等) |
| **跨页叙事** | 密度交替节奏 / 章节色彩递进 / 封面-结尾呼应 / 渐进揭示 |
| **页脚系统** | 统一页脚(章节信息 + 页码),跨页导航 |
| **PPTX 兼容** | HTML → SVG → PPTX 管线PPT 365 中右键"转换为形状"即可编辑 |
## 输出产物
| 文件 | 说明 |
|------|------|
| `preview.html` | 浏览器翻页预览(自动生成) |
| `presentation.pptx` | PPTX 文件PPT 365 中右键"转换为形状"可编辑 |
| `svg/*.svg` | 单页矢量 SVG可直接拖入 PPT |
| `slides/*.html` | 单页 HTML 源文件 |
## 环境依赖
**必须:**
- **Node.js** >= 18Puppeteer + dom-to-svg
- **Python** >= 3.8
- **python-pptx**PPTX 生成)
**一键安装:**
```bash
pip install python-pptx lxml Pillow
npm install puppeteer dom-to-svg
```
## 目录结构
```
ppt-agent-skill/
SKILL.md # 主工作流指令Agent 入口)
README.md # 本文件
README_EN.md # English documentation
references/
prompts.md # 5 套 Prompt 模板
style-system.md # 8 种预置风格 + CSS 变量
bento-grid.md # 7 种布局规格 + 卡片类型
method.md # 核心方法论
scripts/
html_packager.py # 多页 HTML 合并为翻页预览
html2svg.py # HTML → SVGdom-to-svg保留文字可编辑
svg2pptx.py # SVG → PPTXOOXML 原生 SVG 嵌入)
```
## 脚本用法
```bash
# 合并预览
python3 scripts/html_packager.py <slides_dir> -o preview.html
# HTML 转 SVG
python3 scripts/html2svg.py <slides_dir> -o <svg_dir>
# SVG 转 PPTX
python3 scripts/svg2pptx.py <svg_dir> -o output.pptx --html-dir <slides_dir>
```
## 触发方式
在对话中,以下表达会触发此 Skill
- "帮我做个 PPT" / "做一个关于 X 的演示"
- "做 slides" / "做幻灯片" / "做汇报材料"
- "把这篇文档做成 PPT" / "做培训课件" / "做路演 deck"
## 许可证
[MIT](LICENSE)