李进 7bb5b81fbd feat: SVG 图标序列化为图片(第三版)
- 不修改 backgroundUrls(const)
- 节点创建后直接修改 node.backgroundImages
- XMLSerializer + btoa 序列化 SVG
2026-07-27 16:36:02 +08:00

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

S
Description
HTML to editable PPTX export engine
Readme
741 KiB
Languages
JavaScript 93.6%
CSS 3.4%
HTML 3%