AI 生成 PPT 的技术原理研究

Posted on Tue, 28 Jul 2026 09:29:56 +0800 by LiangMingJian


知彼知己者,百战不殆;不知彼而知己,一胜一负,不知彼,不知己,每战必殆。————《孙子兵法·谋攻篇》

问题

  • AI 是怎么生成 PPT 幻灯片的?
  • AI 使用何种技术生成 PPT 幻灯片?
  • AI 是如何生成可编辑的 PPT 幻灯片?
  • 现在市场上各大厂家都是使用什么技术生成 PPT 幻灯片的?
  • 怎么才能更好的通过 AI 生成 PPT 幻灯片?

当前市场 AI PPT 工具的类型

模板填充型(主流产品)

模板填充型是当前主流的技术方案,它通过 LLM 生成大纲内容,然后填充进预设 PPT 模板,来完成 PPT 创建。它生成的是可编辑的 PPT 文件。

模板填充型 AI PPT 工具的工作流程如下所示:

用户输入 → LLM 生成大纲与分页内容 → 匹配预设模板/版式 → 将文字填入占位符 → 生成可编辑 PPT。

这类工具的核心竞争力不在于模型,而在于模板的数量、质量、以及匹配算法,只有在足够多,足够好的模板支撑下,结合优秀的模板匹配算法,这类工具才有可能制作出优秀的 PPT。

全布局型

全布局型这种技术方案不仅会让 LLM 决定内容,还会让 LLM 决定每一页的排版方式——内容放哪里、图片放哪里、字号要多大。它生成的也是可编辑的 PPT 文件。

全布局型 AI PPT 工具的工作流程如下所示:

用户输入 → LLM 生成大纲与分页内容 → LLM 操作 PPT 代码填充元素 → 生成可编辑 PPT。

这种方案上限高,但下限低。受限于 LLM 没有视觉能力,因此在排版布局时,LLM 只知道坐标,没办法“看见”元素的摆放方式,也难以理解元素的摆放方式,因此容易出现错位或者溢出的问题,最终导致 PPT 会很难看。

为解决全布局型元素摆放错位,异常的问题,目前主流的一种方案是回退模板填充的部分布局型。

因为全布局型生成的 PPT 布局难看,因此可以先回退模板填充,在填入大量内容后,通过 LLM 对部分内容进行布局调整。LLM 只对部分元素进行布局设计,因此对布局影响较小,生成的 PPT 也更为美观。当前一些对话式 PPT 生成(可以边和 AI 聊边设计 PPT)的就是这种方案。

图片型

图片型本质应该称为 HTML 型,它抛弃操作 PPT 代码的方法,转而去操作 HTML,通过 HTML+CSS 构造一批的网页,然后截图内嵌进 PPT 文件。它生成的是不可编辑的 PPT 文件。

图片型 AI PPT 工具的工作流程如下所示:

用户输入 → LLM 生成大纲与分页内容 → LLM 通过 HTML+CSS 编写网页 → 将网页截图并内嵌进 PPT 文件 → 生成不可编辑 PPT。

对 LLM 来说,操作 HTML 比操作 PPT 原生代码更为熟练(HTML 的训练资料更多)。因此,通过这种方法生成的 PPT 会更为美观。但是缺点也明显,对于一般用户,在 PPT 生成后,无法手动编辑内部元素的布局,排版。

模板填充型的技术实现

PPT 文件本质是一个 ZIP 压缩包,对 PPT 右键解压缩,可以看见其被提取多个文件夹。

这些文件夹里面存放着 PPT 的构造内容——— OOXML(Office Open XML) 文件。

OOXML(Office Open XML)是一种基于 ZIP 和 XML 的开放文件格式,是微软设计用于存储 Microsoft Office 文档(如 Word、Excel 和 PowerPoint)的一种文件格式。

模板填充型的技术实现就是通过编写代码来修改这些 OOXML 文件,将 LLM 生成的大纲内容替换模板里面对应的占位符。

当前主流的依赖库是 Python 的 python-pptx。它不直接编写 OOXML,而是封装了一套面向对象的 API,让开发者可以直接操作对象,而不用考虑对应的 OOXML 应该如何编写。

在 OOXML 中,文本标签是 <a:t>,文本框标签是 <p:sp>、形状是 <p:sp>、图表是 <c:chart>、表格是 <a:tbl>、图片是 <p:pic>,因此如果要求判断一个 PPT 是不是可编辑的 PPT,可以通过遍历 XML 元素,检测标签的种类。如果一个 PPT 的标签大量都是 <p:pic>,则这个 PPT 不是一个可编辑的 PPT,是一个图片型 PPT。

AI PPT 的最佳实现

LLM 负责内容,设计师负责美观。

在我看来,AI PPT 的最佳实现应该是如下逻辑:

LLM 生成 PPT 内容 → 设计师设计美观的 PPT 模板 → LLM 编写代码将内容填充到 PPT 模板版式

在 AI PPT 的最佳实现中,LLM 不应该操作 PPT 元素。LLM 只做填充,PPT 所有元素的定位都应该由设计师通过模板固定。

在这种结构的支撑下,既用到 AI 大模型优秀的文字生成能力,也用到设计师优秀的 PPT 排版能力,保证生成的 PPT 既美观又丰富。

如何保证模板的可用(设计师的工作)

基于上述 AI PPT 的最佳实现,我们知道 PPT 的美观是由设计师的模板决定的。那模板如何保证美观,如何让 LLM 正确填充,则要设计师遵循一些设计规范。

模板不要携带任何页面

LLM 在填充模板时,默认使用提供的模板文件。此时,如果提供的模板文件里面已有 PPT 页面,则这些页面不会被删除,LLM 新建的页面会在这些已有页面的后面,严重影响 PPT 文件的正确性。

使用母版功能来设计模板文件

在 PPT 中,母版功能是设计模板文件的唯一选择。母版里面元素会默认出现在所有版式中,版式是 LLM 填充内容的选择。

使用标准的占位符标识位置

LLM 通过识别版式中的占位符来对内容进行填充。当 LLM 识别到版式里面有两个文本占位符时,它可以根据占位符的位置,大小,预填文字来判断这两个文本占位符哪一个是标题,哪一个是内容。然后通过编写代码,根据对应占位符的 idx 来一对一替换,将内容填充进入版式。

占位符类似文本框,一样可以设置字体,大小,颜色。这些设置的内容在 LLM 填充时都不会发生变化。你所设计的一切内容,LLM 都不会进行修改。

在占位符中使用清晰的预填提示

在版式设计时,推荐在每一个占位符中标识这个占位符应当填写什么内容,比如主标题,子标题,标题1,标题2,章节1,章节2,内容1,内容2,图片等。通过这种预填提示,可以帮助 LLM 更好的理解版式结构,让 LLM 选择到合适的版式进行填充。

使用规范的版式名称

在完成版式设计后,应当给版式设计一个足够清晰,足够规范的版式名称。一个清晰规范的版式名称可以让 LLM 快速的选择到合适的版式进行填充。

如何保证填充的可靠(LLM 的工作)

告诉 AI,使用指定模板文件里面的版式进行创建

这可以避免让 LLM 使用其他 PPT 生成方式(图片型和全布局型)来生成 PPT。

告诉 AI,读取模板文件里面的版式的基本信息

这些基本信息包括:母版数、版式数、版式名,每个版式的占位符、占位符的提示/类型/idx/坐标/尺寸,装饰元素等。

告诉 AI,理解版式里面的占位符提示文件,优先以提示内容为准进行填充

LLM 在填充版式时,默认会按占位符的 idx 顺序进行填充,但是占位符的 idx 顺序并不准确,它不能准确的表示占位符所在的位置(版式的 idx 是无法编辑的,是 PPT 默认生成的一个内置属性)。因此需要让 LLM 根据占位符的提示文字进行识别,保证内容的正确填充。

告诉 AI,当占位符 idx 重复时,应当停止执行,让设计师修正版式

版式在设计时,占位符 idx 有可能会因为复制粘贴导致重复,此时,如果硬让 LLM 填充,会因为无法填充 idx 而失败,所以需要用户进行修正。

解答

  • AI 通过操作 PPT 的源代码 OOXML 来生成 PPT。
  • AI 使用模板填充,全布局,图片HTML生成等方式生成 PPT。
  • 只有通过模板填充或者全布局的方式才能生成编辑的 PPT。
  • 当前主流的 PPT 生成方式是基于模板填充的部分布局方式。
  • LLM 负责文字内容和填充,设计师负责设计,LLM 不应该直接操作元素布局。

LLM 负责内容,设计师负责美观,让对的人干正确的事情。