在日常工作中,我们经常需要将 PowerPoint 演示文稿内容转换为 Word 文档,以便于:
- 整理会议纪要:将幻灯片内容整理成文档便于分发和归档。
- 制作培训材料:将演示文稿内容编辑为可打印文档。
- 内容再利用:将幻灯片内容嵌入报告或其他文档中。
手动操作时,通常需要先将每页幻灯片截图或复制粘贴,非常繁琐。本文将介绍如何使用 Free Spire.Presentation for Python 和 Free Spire.PDF for Python,通过 Python 自动完成 PowerPoint 到 Word 的转换,并确保排版尽量保留。
更多技术干货资料:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material9
1. 安装依赖
pip install spire.presentation.free spire.pdf.free2. 将 PowerPoint 转换为 PDF
为了实现 Word 可编辑输出,我们先将 PPTX 文件转换为 PDF。这一步可以保证幻灯片的排版在 Word 中尽量保持一致。
from spire.presentation import Presentation, FileFormat
import os
input_ppt = "Sample.pptx"
temp_pdf = "output/temp.pdf"
# 加载 PowerPoint 文件
presentation = Presentation()
presentation.LoadFromFile(input_ppt)
# 保存为 PDF
presentation.SaveToFile(temp_pdf, FileFormat.PDF)关键步骤解析:
- 创建 Presentation 对象:用于加载 PPT/PPTX 文件。
- LoadFromFile():加载本地幻灯片文件。
- SaveToFile() :将演示文稿保存为 PDF 格式,指定 FileFormat.PDF。
通过这一步,我们就得到了一个中间 PDF 文件,下一步可以将其转换为 Word。
3. 将 PDF 转换为 Word 文档
from spire.pdf import PdfDocument, FileFormat as PdfFileFormat
output_docx = "output/output.docx"
# 加载 PDF 文件
pdf = PdfDocument()
pdf.LoadFromFile(temp_pdf)
# 保存为 Word 文档
pdf.SaveToFile(output_docx, PdfFileFormat.DOCX)关键步骤解析:
- PdfDocument 对象:用于操作 PDF 文件。
- LoadFromFile():加载刚才生成的 PDF 文件。
- SaveToFile():将 PDF 内容转换为 Word 格式(DOCX),尽量保持原有排版。
经过这一步,我们就完成了 PowerPoint 到 Word 的转换。
转换效果:

4. 删除临时 PDF 文件
为了保持文件夹整洁,可以在转换完成后删除中间生成的 PDF 文件。
if os.path.exists(temp_pdf):
    os.remove(temp_pdf)说明:
- 使用 os.path.exists()判断文件是否存在。
- 使用 os.remove()删除文件,避免占用空间。
5. 总结与扩展
通过本文的方法,我们实现了:
- 全自动转换:无需手动复制粘贴幻灯片内容。
- 保持排版:PDF 中间格式能较好地保留原 PPT 样式。
- 适合批量处理:可在 Python 脚本中循环处理多个 PPT 文件。
(1)为什么使用 PDF 作为中间格式?
直接将 PPT 转 Word 会丢失部分排版或格式。通过 PDF 作为中间格式,可以最大程度保留幻灯片的视觉效果,同时兼容 Word 输出。
(2)可扩展场景
- 批量转换 :结合 os.listdir()遍历文件夹,实现一次性批量处理。
- 自动命名:根据 PPT 文件名自动生成 Word 文件名。
- 集成到业务流程:例如会议结束后自动生成 Word 纪要,方便分发和归档。
关键类与方法总结
| 类 / 方法 | 说明 | 
|---|---|
| Presentation | 表示 PowerPoint 演示文稿对象 | 
| Presentation.LoadFromFile() | 加载 PPT/PPTX 文件 | 
| Presentation.SaveToFile() | 将 PPT 保存为指定格式(如 PDF) | 
| PdfDocument | 表示 PDF 文档对象 | 
| PdfDocument.LoadFromFile() | 加载 PDF 文件 | 
| PdfDocument.SaveToFile() | 将 PDF 保存为 Word(DOCX)或其他格式 | 
| os.path.exists() | 判断文件是否存在 | 
| os.remove() | 删除文件 | 
总结
本文演示了如何使用 Spire.Presentation 与 Spire.PDF for Python 将 PowerPoint 演示文稿自动转换为 Word 文档。通过 PDF 中间格式,不仅保留了幻灯片的排版效果,还可以在 Python 脚本中实现批量处理,适合会议纪要整理、培训资料生成以及文档归档等多种业务场景。
掌握这些核心类和方法后,你可以轻松实现 PowerPoint 到 Word 的自动化转换,提高工作效率,减少重复操作。
更多技术干货资料,这里:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material9