
PowerPoint 把内容锁在幻灯片里:一页一块画布,标题和正文都散落在图形框中。要把这些内容搬进文档、知识库,或直接交给大语言模型处理,得先把它们还原成可编辑的纯文本。Markdown 适合做这层,进 Git 仓库还能看到逐行差异。
本文用 Spire.Presentation for Python 把 PowerPoint 演示文稿转换为 Markdown。也可以只导出其中一张幻灯片,或在循环里一次导出多张。整个过程不需要安装 Microsoft PowerPoint。
本文介绍以下内容:
安装 Python PowerPoint 转 Markdown 库
安装命令
在开始转换前,请使用以下命令通过 pip 安装该库:
pip install Spire.Presentation
如需安装帮助,请参考此教程:如何在 Windows 上安装 Spire.Presentation for Python。
将整份 PowerPoint 演示文稿转换为 Markdown
Presentation.SaveToFile 搭配 FileFormat.Markdown,一次就能把整份 PowerPoint 演示文稿转换为 Markdown。演示文稿里的标题、段落与表格会按原有层级整理,幻灯片之间以 ==== Page N ==== 分页标记隔开。
具体操作步骤如下:
- 创建
Presentation对象。 - 用
Presentation.LoadFromFile读入 PPT/PPTX 文件。 - 用
Presentation.SaveToFile配合FileFormat.Markdown把整份演示文稿保存为 Markdown。 - 释放资源。
from spire.presentation import *
# 创建 Presentation 对象
presentation = Presentation()
# 加载 PowerPoint 文件
presentation.LoadFromFile("数据简报.pptx")
# 将整份演示文稿保存为 Markdown 文件
presentation.SaveToFile("数据简报.md", FileFormat.Markdown)
# 释放资源
presentation.Dispose()
将整份 PowerPoint 演示文稿转换为 Markdown 得到的文件:

导出指定幻灯片为 Markdown
只想要某一页时,不必先导出整份文稿再裁剪。ISlide.SaveToFile 用于导出指定幻灯片为 Markdown:用 Slides[索引] 取到目标页,再把它单独保存成 Markdown。
具体操作步骤如下:
- 创建
Presentation对象。 - 用
Presentation.LoadFromFile读入 PPT/PPTX 文件。 - 用
Presentation.Slides[索引]取到目标幻灯片。 - 用
ISlide.SaveToFile配合FileFormat.Markdown把该幻灯片保存为 Markdown。 - 释放资源。
from spire.presentation import *
# 创建 Presentation 对象
presentation = Presentation()
# 加载 PowerPoint 文件
presentation.LoadFromFile("数据简报.pptx")
# 获取第 2 张幻灯片(索引从 0 开始)
slide = presentation.Slides[1]
# 将指定幻灯片保存为 Markdown 文件
slide.SaveToFile("第2张幻灯片.md", FileFormat.Markdown)
# 释放资源
presentation.Dispose()
导出指定幻灯片为 Markdown 得到的文件:

一次导出多张幻灯片为 Markdown
要导出的不止一页时,把幻灯片索引放进循环,逐页调用 Slides[索引].SaveToFile,每张幻灯片各存成一个 Markdown 文件:
from spire.presentation import *
# 创建 Presentation 对象
presentation = Presentation()
# 加载 PowerPoint 文件
presentation.LoadFromFile("数据简报.pptx")
# 依次导出第 1、2 张幻灯片
for index in (0, 1):
slide = presentation.Slides[index]
slide.SaveToFile(f"第{index + 1}张幻灯片.md", FileFormat.Markdown)
# 释放资源
presentation.Dispose()
每张幻灯片都是单独导出,Markdown 里的页号从 Page 1 重新计算。
总结
整份转换和单张导出都落在同一个 Presentation 对象上:LoadFromFile 读入,FileFormat.Markdown 决定输出格式,SaveToFile 落盘。要整份文稿就直接导出。只取其中几页时,把目标幻灯片取出来单独保存,或放进循环一次导出多张。
常见问题
转换需要先安装 Microsoft PowerPoint 吗
原因:Spire.Presentation for Python 自行解析 PPT/PPTX 的文件结构,不调用 Office 组件。
解决:不需要安装 PowerPoint 或其他 Office 软件,装好 Python 库即可运行。
一次可以转换多个 PowerPoint 文件吗
原因:一个 Presentation 对象对应一份演示文稿,一次只处理一个文件。
解决:把转换逻辑放进循环,遍历目录下的 PPT/PPTX 逐个处理即可:
import os
from spire.presentation import *
for name in os.listdir("presentations"):
if name.endswith(".pptx"):
presentation = Presentation()
presentation.LoadFromFile(os.path.join("presentations", name))
base = os.path.splitext(name)[0]
presentation.SaveToFile(os.path.join("markdown", base + ".md"), FileFormat.Markdown)
presentation.Dispose()
为什么导出的 Markdown 每页顶部有一行警告文字
原因:未应用许可证时,Spire.Presentation for Python 会在导出内容里插入 Evaluation Warning 评估提示行。
解决:申请并应用临时许可证后,导出的 Markdown 中就不再出现该行,详见下方「获取免费许可证」。
获取免费许可证
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。







