PPT from Template

Polar Sponsor
爱发电 赞助
.NET 9.0

通过从参考模板中提取视觉风格,并使用 PptxGenJS 从头重新创建幻灯片来生成演示文稿。适用场景:用户提供 PPT……

PPT 由 Template 中生成

功能概述

PPT 由 Template 中生成是一项面向实际任务的技能,主要用于Generate 演示文稿, 取自参考模板的样式, 然后用 PptxGenJS.;Core 原理构建新幻灯片 : 永远不要修改现有的 PPT XML.;

核心要点

  • 请看 tyt。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

基于模板生成 PPT

通过从参考模板中提取样式,再结合 PptxGenJS 从零构建全新幻灯片,实现演示文稿的自动生成。

核心原则:绝不修改现有 PPT 的 XML 结构;仅分析其视觉样式,然后完全重新绘制。

模板管理

模板目录

默认模板目录:{workspaceDir}/template/

每次执行时:

  1. 扫描 {workspaceDir}/template/ 目录下的所有 *.pptx 文件。
  2. 若仅找到 一个 模板 → 自动选用。
  3. 若找到 多个 模板 → 列出全部选项,并提示用户手动选择。
  4. 若 未找到任何 模板 → 提示用户上传 .pptx 文件或指定路径。

用户上传

支持用户上传 .pptx 文件。处理前需执行以下检查:

  • 文件大小校验:拒绝大于 50 MB 的文件,并返回提示:“模板文件超过 50MB 限制,请压缩后重试”。
  • 上传成功后,保存至 {workspaceDir}/template/ 以供后续复用。

工作流程

第一阶段:样式提取

# 若为 .pptx 文件,先转为 PDF 用于视觉分析:
python3 {baseDir}/scripts/pptx_to_pdf.py template.pptx /tmp/ppt_style/template.pdf

# 提取每页图像:
bash {baseDir}/scripts/extract_pages.sh /tmp/ppt_style/template.pdf /tmp/ppt_style/ 150

# 从 PPTX XML 中高精度提取样式:
python3 {baseDir}/scripts/extract_style.py template.pptx -o /tmp/ppt_style/style_raw.yaml

读取 style_raw.yaml 获取精确样式数据(十六进制颜色值、字体名称、字号(单位:pt)、位置(单位:英寸)、填充类型、线条样式等);再读取其中 3–5 页图像,用于语义理解(如元素角色判断、版式分类)。

样式提取分为两个层级:

层级 数据来源 需捕获内容
全局样式 style_raw.yaml 配色(十六进制)、排版(字体/字号/字重)、装饰性元素
单版式样式 style_raw.yaml + 页面图像 元素清单:类型、角色、坐标(x/y)、尺寸(w/h)、样式属性

支持的元素类型包括:text、image、video、shape、line、numbered_list、step_list、tag_group、chart、table。

对于图片与视频:设置 placeholder: true,并附带 description 字段,便于用户后续手动替换。

最终结果写入 style.yaml。Schema 定义见:references/style-schema.md。

第二阶段:PPT 生成

调用 pptx 技能(基于 PptxGenJS)创建幻灯片:

  1. 读取 style.yaml 获取视觉参数。
  2. 与用户输入内容(主题、页数、大纲)融合。
  3. 生成符合所提取样式的 PptxGenJS JavaScript 代码。
  4. 执行该 JS 代码,输出 .pptx 文件。
  5. 质量验证:将生成的 PPT 转为图像,比对样式保真度。

大型演示文稿策略(>15 页)

PptxGenJS 本身的生成速度极快(秒级),但为大量幻灯片编写 JS 代码可能触发上下文长度或执行时间限制。应对策略如下:

页数范围 策略
≤15 单次生成流程
16–30 拆分为两个 JS 文件:第 1–15 页、第 16–30 页;依次生成后,使用 pptx-merge 合并;或在一个 pres 对象中,通过两段代码块协同生成
31–100+ 为每种版式定义一个 幻灯片工厂函数,再遍历内容数组批量生成;单个 JS 文件,数据驱动

大型文稿推荐采用幻灯片工厂模式:

// 根据 style.yaml 定义各类版式的工厂函数
function makeCover(pres, content) { /* ... */ }
function makeContent(pres, content) { /* ... */ }
function makeSection(pres, content) { /* ... */ }

// 内容数组 —— 易于扩展
const slides = [
  { layout: "cover", title: "...", subtitle: "..." },
  { layout: "content", title: "...", items: [...] },
  // …… 可达 50+ 条目
];

slides.forEach(s => layoutFactories[s.layout](pres, s));

该方式使代码体积复杂度为 O(版式数),而非 O(页数)。

输出文件大小控制

目标输出文件小于 20 MB。PptxGenJS 默认输出极小(纯文本类文稿通常为 100–500 KB)。大体积主要源于嵌入的图像资源。当输出接近 20 MB 时,执行以下措施:

  1. 在 PptxGenJS 配置中降低图像分辨率/压缩质量。
  2. 改用占位符代替嵌入图像。
  3. 如确有必要,可将内容拆分为多个 PPT 文件。
  4. 向用户发出警告:“PPT 接近 20MB 限制,已使用图片占位符,请手动替换”。

占位符规范

  • 图片占位符:深色矩形 + 灰色虚线边框 + 🖼️ + 标签 + 替换建议
  • 视频占位符:深色矩形 + 红色虚线边框 + ▶️ + 标签 + 替换建议

关键规则

  • 严禁修改原始 PPT 的 XML —— 所有输出均须从零生成。
  • style.yaml 具备复用性:一旦提取完成,即可无限次生成同风格 PPT。
  • PptxGenJS 中启用 shrinkText: true 实现长文本自动缩放适配。
  • 幻灯片尺寸必须严格匹配 style_raw.yaml 中提取的实际值(不可硬编码为 16:9)。

文件约定

{workspaceDir}/
├── template/              ← .pptx 模板目录(自动发现)
│   └── *.pptx             ← 单个文件最大 50 MB
├── output/                ← 生成的 PPT 输出目录
│   └── *.pptx             ← 单个文件最大 20 MB
/tmp/ppt_style/            ← 临时工作目录(非持久化)
├── template.pdf
├── page-*.jpg
├── style_raw.yaml         ← extract_style.py 输出
└── style.yaml             ← 整合后版本(含精确样式 + 语义信息)

故障排查

问题 解决方案
模板文件 > 50 MB 提示用户压缩文件或移除内嵌媒体资源
输出文件 > 20 MB 启用占位符,减少图片数量或降低分辨率
页数 > 30 导致超时 采用幻灯片工厂模式,实施数据驱动式生成
未找到模板 提示用户上传 .pptx 文件或指定路径
存在多个模板 列出全部选项,要求用户主动选择
字体不可用 回退至 Arial / sans-serif;并在输出中注明
复杂渐变效果 在 style.yaml 中描述;建议使用背景图替代

相关专题

更多
PPT批量修改调整尺寸教程合集
PPT批量修改调整尺寸教程合集

本专题整合了PPT批量修改图片尺寸教程合集,阅读专题下面的文章了解更多详细内容。

2026.04.03

378

14

PPT批量插入图片方法合集
PPT批量插入图片方法合集

本专题整合了PPT批量插入图片相关技巧,阅读专题下面的文章了解更多详细步骤。

2026.04.03

164

12

PPT自动播放设置合集
PPT自动播放设置合集

本专题整合了PPT自动播放相关教程内容合集,阅读专题下面的文章了解更多详细内容。

2026.04.01

139

23

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

2026.01.15

654

45

PPT交互图表教程大全
PPT交互图表教程大全

本专题整合了PPT交互图表相关教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.12

273

10

PPT动态图表制作教程大全
PPT动态图表制作教程大全

本专题整合了PPT动态图表制作相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.07

314

19

word转换成ppt教程大全
word转换成ppt教程大全

本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

2025.12.25

511

16

PPT怎么一次性插入多张图片
PPT怎么一次性插入多张图片

在 PPT 中一次性插入多张图片,可先打开 PPT,定位到要插入图片的幻灯片,点击 “插入” 选项卡中的 “图片”。在弹出的文件选择窗口中,按住 Ctrl 键(Windows 系统)或 Command 键(Mac 系统),逐一选择所需图片,然后点击 “插入” 按钮即可。

2025.04.28

149801

9

ppt成品免费获取网站
ppt成品免费获取网站

本专题推荐了多个提供免费 PPT 模板的网站,包括 SlideModel、PowerPoint Templates、Presentation Magazine、Free-Powerpoint-Templates 和 Canva。这些网站提供种类繁多的模板,涵盖各种主题、风格和设计。

2025.03.10

15139

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GenerateAPI使用指南
GenerateAPI使用指南

共0课时 | 0人学习

天工智能体:免费AI神器!
天工智能体:免费AI神器!

共0课时 | 160人学习

天工AI帮助手册
天工AI帮助手册

共0课时 | 0人学习