Delta Lab中国 · 广州

AI生成PPT的5种方案

• 6 分钟阅读 • 办公
技术路线 生成原理 主要优势 主要局限 典型工具或项目
结构化内容+模板排版 AI 将内容整理为 JSON 等结构化数据,再由模板或布局引擎生成页面 视觉规则统一,适合批量制作和品牌模板复用 内容需适应版式容量;复杂需求可能需要扩展模板 GordenPPTSkill、PPT Master
原生 PPTX 代码生成 AI 编写 Python 或 JavaScript,调用程序库创建文本框、形状、表格和图表 原生对象可编辑,布局可按需求定制 需要处理文字溢出、元素重叠和字体差异 python-pptx、PptxGenJS
网页演示生成 使用 HTML、CSS、JavaScript 构建可翻页的网页演示 动效与交互丰富,方便浏览器展示和在线分享 导出 PPTX 后,视觉效果和可编辑性取决于转换方式 Reveal.js、Slidev、归藏 PPT Skill
整页图像生成 AI 生成完整幻灯片图片,再将图片组装为演示文件 便于表达插画、质感和复杂视觉风格 文字与数据需要核对;页面内部通常无法逐项编辑 codex-ppt
原生对象与图像混合生成 使用原生对象承载文字、数据和图表,以图片承载照片、插画等视觉资产 兼顾主要内容可编辑与复杂视觉表现 需要协调两类元素的布局、风格与修改流程 CyberPPT

1. 结构化内容+模板:填内容,套版式

AI 输出 JSON,程序把标题和要点填入固定布局。这里使用 python-pptx 自带的标题+正文布局作为简易模板。官方示例

安装:pip install python-pptx

 import json
 from pptx import Presentation
 ​
 # 假设这是 AI 返回的 JSON
 data = json.loads('''{
   "title": "AI 办公提效",
   "points": ["自动整理会议纪要", "辅助制作演示文稿"]
 }''')
 ​
 ppt = Presentation()
 slide = ppt.slides.add_slide(ppt.slide_layouts[1])
 slide.shapes.title.text = data["title"]
 slide.placeholders[1].text = "\n".join(data["points"])
 ​
 ppt.save("template.pptx")

**特点:**布局由模板控制,AI 主要负责内容。

2. 原生 PPTX 代码生成:逐项摆放元素

AI 直接生成排版代码,指定文本框的位置、大小和样式。下面使用 JavaScript 库 PptxGenJS。官方示例

安装:npm install pptxgenjs,代码保存为 demo.cjs,运行 node demo.cjs。

 const pptxgen = require("pptxgenjs");
 ​
 const ppt = new pptxgen();
 ppt.layout = "LAYOUT_WIDE";
 const slide = ppt.addSlide();
 ​
 slide.addText("AI 办公提效", {
   x: 0.8, y: 0.8, w: 11, h: 0.7,
   fontSize: 32, bold: true, color: "17365D"
 });
 slide.addText("把重复工作交给自动化", {
   x: 0.8, y: 2, w: 11, h: 1, fontSize: 24
 });
 ​
 ppt.writeFile({ fileName: "native.pptx" });

**特点:**文字等原生对象可编辑,排版需要代码控制。

3. 网页演示:用网页技术做幻灯片

AI 生成 HTML,再交给 Reveal.js 展示。每个 <section> 就是一页。官方安装说明

安装:npm install reveal.js。将下面代码保存为同一目录下的 index.html,用浏览器打开。

 <!doctype html>
 <meta charset="utf-8">
 <link rel="stylesheet"
       href="./node_modules/reveal.js/dist/reveal.css">
 <link rel="stylesheet"
       href="./node_modules/reveal.js/dist/theme/white.css">
 ​
 <div class="reveal">
   <div class="slides">
     <section><h1>AI 办公提效</h1></section>
     <section><h2>从重复任务开始</h2><p>会议纪要、资料整理、初稿撰写</p></section>
   </div>
 </div>
 ​
 <script src="./node_modules/reveal.js/dist/reveal.js"></script>
 <script>Reveal.initialize();</script>

**特点:**适合浏览器展示,输出首先是网页。

4. 整页图像生成:先画整页,再装进 PPT

先用生图模型生成一张完整幻灯片,例如使用提示词:

生成一张 16:9 中文幻灯片,标题“AI 办公提效”,展示会议纪要、资料整理、初稿撰写三个场景,白底蓝色商务风。

将生成结果保存为 slide.png,再运行:

 from pptx import Presentation
 from pptx.util import Inches
 ​
 ppt = Presentation()
 ppt.slide_width = Inches(13.333)
 ppt.slide_height = Inches(7.5)
 ​
 slide = ppt.slides.add_slide(ppt.slide_layouts[6])
 slide.shapes.add_picture(
     "slide.png", 0, 0,
     width=ppt.slide_width, height=ppt.slide_height
 )
 ​
 ppt.save("image.pptx")

**特点:**整页是一张图片,其中的文字通常不能逐项编辑。输入图片应为 16:9,避免拉伸。

5. 混合生成:图片负责视觉,原生对象负责信息

先准备一张不含文字的 AI 插画 illustration.png,再用原生文本框放标题和正文。

 from pptx import Presentation
 from pptx.util import Inches, Pt
 ​
 ppt = Presentation()
 ppt.slide_width = Inches(13.333)
 ppt.slide_height = Inches(7.5)
 slide = ppt.slides.add_slide(ppt.slide_layouts[6])
 ​
 slide.shapes.add_picture(
     "illustration.png", Inches(7.5), Inches(1.5), width=Inches(5)
 )
 box = slide.shapes.add_textbox(
     Inches(0.8), Inches(1.5), Inches(6), Inches(3)
 )
 box.text_frame.text = "AI 办公提效\n从重复任务开始"
 for paragraph in box.text_frame.paragraphs:
     paragraph.font.size = Pt(28)
 ​
 ppt.save("hybrid.pptx")

**特点:**文字可编辑,插画保留为图片。这也是兼顾视觉效果和后续修改的一种方式。

文章标签: 办公

上一篇 : Token单价更便宜,输出可能更贵?
下一篇 : 最优贝尔曼方程推导
留言