catalog/repos/ajaxhe--universal-pptx-generator-skill.md

6.6 KiB
Raw Permalink Blame History

通用PPT自动生成工具

PPT生成 CodeBuddy 模板分析 Node.js 演示文稿

通用 PPTX 生成器技能

CodeBuddy Skill Node.js 14+ pptxgenjs 许可证

一个强大的 CodeBuddy 技能,能够根据任意用户指定的 PPT 模板,结合提供的图文素材(文档、图片等),自动生成一份风格统一的演示文稿。

核心功能

功能 描述
🎨 模板分析 自动解析 PPTX 模板结构、配色、字体、背景图/背景色、对齐方式
📄 分页面类型分析 针对封面、目录、章节、内容、结束页分别提取背景和样式
📝 素材处理 从 DOCX/PDF/图片等素材中提取内容
🎯 智能排版 根据模板风格自动排版生成内容
📊 图表展示 支持柱状图、折线图、饼图、雷达图等多种数据可视化图表
🔄 批量生成 支持生成多页完整演示文稿

🚀 快速开始

安装技能

  1. SKILL.md 文件复制到你的 CodeBuddy 项目的 .codebuddy/skills/universal-pptx-generator/ 目录下
  2. 在 CodeBuddy 中使用 /universal-pptx-generator 命令激活技能

目录结构

.codebuddy/
└── skills/
    └── universal-pptx-generator/
        └── SKILL.md

📋 使用方法

基本工作流程

┌─────────────────────────────────────────────────────────────┐
│                     通用 PPT 生成流程                        │
├─────────────────────────────────────────────────────────────┤
│  1. 模板深度分析阶段(关键!)                               │
│     └── 解压 PPTX → 精确分析每页 XML → 提取字号/颜色/位置    │
│                                                              │
│  2. 素材处理阶段                                             │
│     └── 解析 DOCX/PDF → 提取文本/图片 → 结构化内容           │
│                                                              │
│  3. 内容规划阶段                                             │
│     └── 分析内容 → 设计结构 → 分配页面                       │
│     └── ⭐ 识别数据 → 选择图表类型 → 准备图表数据            │
│                                                              │
│  4. PPT 生成阶段                                             │
│     └── 应用精确的模板参数 → 填充内容 → 生成图表 → 输出 PPTX │
│                                                              │
│  5. 清理阶段                                                 │
│     └── 删除临时文件 → 保留最终 PPTX                         │
└─────────────────────────────────────────────────────────────┘

示例对话

用户: 帮我根据这个模板生成一份项目汇报PPT素材在这个文档里

CodeBuddy: 好的我来帮你生成PPT。让我先分析模板结构...
[自动分析模板 XML提取精确参数]
[处理素材内容,规划页面结构]
[生成完整 PPT 文件]

🎯 支持的页面类型

页面类型 典型特征 背景处理方式
封面页Cover 主标题 + 副标题 + Logo 背景图/渐变/斜切形状
目录页TOC 目录列表 + 装饰元素 纯色背景 + 装饰形状
章节页Chapter 大号章节编号 + 章节标题 纯色背景 + 装饰形状
内容页Content 标题 + 正文/图片/图表 纯色背景/背景图
结束页Thanks 感谢语 + 联系方式 纯色背景 + 装饰形状

📊 支持的图表类型

类型 说明 适用场景
柱状图 垂直柱状图 分类对比
横向柱状图 3D 柱状图 横向展示
折线图 折线趋势图 时间序列趋势
面积图 面积趋势图 累积数据展示
饼图 饼状图 占比分析
圆环图 环形图 带说明的占比
雷达图 雷达/蜘蛛图 多维度对比
散点图 散点图 相关性分析

⚠️ 核心原则

每个模板都是独特的,必须针对性分析!

不同 PPT 模板使用的字体、对齐方式、字号、颜色、位置、背景样式都完全不同。绝不能将一个模板的配置直接应用到另一个模板!每次使用新模板时,都必须重新分析 XML 提取精确参数。

必须遵守的原则

  1. 精确提取参数 —— 所有字号、位置、颜色必须从幻灯片 XML 中精确提取
  2. 精确提取字体 —— 字体名称必须从 XML 精确提取
  3. 精确提取对齐方式 —— 对齐方式必须从 algn 属性提取
  4. 不要添加额外元素 —— 如果模板没有某元素,就不要添加
  5. 保持布局一致 —— 位置和尺寸必须与模板匹配
  6. 单位换算正确 —— sz ÷ 100 = ptEMU ÷ 914400 = 英寸

常见错误与正确做法

错误 正确做法
使用推测的字号 从 XML 的 sz 属性精确提取
使用默认字体 从 XML 精确提取字体名称
使用错误的对齐方式 从 XML 的 algn 属性提取
复制其他模板的配置 每个模板必须单独分析!
形状出现黑色边框 必须设置 line: 'none'

🛠️ 技术依赖

  • Node.js 14+
  • pptxgenjs 3.x
  • Python 3.x用于文件处理
npm install pptxgenjs

📁 单位换算公式

字号sz 值 ÷ 100 = pt
位置/尺寸EMU ÷ 914400 = 英寸
百分比:英寸 ÷ 画布尺寸 × 100%

画布尺寸16:920 × 11.25 英寸

🤝 贡献

欢迎提交 Issue 和 Pull Request

📄 许可证

MIT 许可证 —— 详见 LICENSE 文件

🙏 致谢