f7307a08919060977c35d2c97a603c793759da42
- 目录 web-to-pixso/ → web-to-ppt/ - 所有代码引用:PIXSO → WEB_TO_PPT, webToPixso → webToPPT - 数据格式:pixso-design-capture → web-to-ppt-capture - CSS 选择器:__web_to_pixso_ → __web_to_ppt_ - README 重写,移除 Pixso 相关描述 - docs/web-to-pixso-mapping.md → docs/web-to-ppt-mapping.md
html2pptx
HTML / 截图 → 标准 JSON → 可编辑 PPTX
将任何格式的演示文稿描述转化为文字可编辑、布局可还原的 PPTX 文件。
架构
输入(任意来源) 中间层 输出
━━━━━━━━━━━━━━━ ━━━━━━━━━━━ ━━━━━
AI 生成的描述 标准 JSON PPTX 文件
HTML 提取的结构 → Schema 校验 → pptxgenjs 渲染
多模态识别结果 ↓
Markdown / 其他 翻译引擎(机械映射)
三层结构
| 层 | 目录 | 说明 |
|---|---|---|
| 知识库 | reference/ |
pptxgenjs 完整参数表,每个参数的类型/取值范围/默认值。给 AI 用的操作手册 |
| Schema | schema/ |
JSON Schema 定义 + 示例。AI 输出符合此 Schema 的 JSON 即可驱动 PPT 生成 |
| 翻译引擎 | renderer/ |
JSON → pptxgenjs API 调用的机械映射。不做逻辑判断,只做参数透传 |
快速开始
npm install
从 JSON 生成 PPTX
const { render } = require('./renderer/index');
const pptx = render(jsonObject);
pptx.writeFile({ fileName: 'output.pptx' });
从 JSON 文件生成
const { renderFile } = require('./renderer/index');
renderFile('./schema/examples/ui-dashboard.json', 'output.pptx');
目录结构
reference/ ← 知识库:每个元素的完整参数表
text.md 文字参数
shape.md 形状参数
table.md 表格参数
image.md 图片参数
chart.md 图表参数
slide.md 页面参数
master.md 母版参数
output.md 输出参数
coordinate.md 坐标换算
schema/ ← JSON Schema 定义
presentation.schema.json
examples/
basic.json 基础示例(2页)
full.json 全功能示例
ui-dashboard.json UI 看板示例
ui-advanced.json 精细化 UI 示例
renderer/ ← 翻译引擎
index.js 主入口
text-renderer.js 文字渲染
shape-renderer.js 形状渲染
table-renderer.js 表格渲染
image-renderer.js 图片渲染
chart-renderer.js 图表渲染
slide-renderer.js 页面属性
PPTXGENJS_API.md ← pptxgenjs v4.0.1 完整 API 参考
设计原则
- 翻译引擎是纯机械映射 — 不做样式推断,不做逻辑判断。JSON 里有什么就画什么
- Schema 是 AI 友好 — 字段名直观,不暴露 pptxgenjs 内部命名
- 知识库是完整参考 — 每个参数都有类型+取值范围+默认值,不需要 AI 去猜
依赖
| 包 | 用途 |
|---|---|
| pptxgenjs | 生成 PPTX 文件(OOXML) |
License
MIT
Languages
JavaScript
93.6%
CSS
3.4%
HTML
3%