使用 Python 将 PowerPoint 转换为 Word 文档

在日常工作中,我们经常需要将 PowerPoint 演示文稿内容转换为 Word 文档,以便于:

  • 整理会议纪要:将幻灯片内容整理成文档便于分发和归档。
  • 制作培训材料:将演示文稿内容编辑为可打印文档。
  • 内容再利用:将幻灯片内容嵌入报告或其他文档中。

手动操作时,通常需要先将每页幻灯片截图或复制粘贴,非常繁琐。本文将介绍如何使用 Free Spire.Presentation for PythonFree 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.free

2. 将 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.PresentationSpire.PDF for Python 将 PowerPoint 演示文稿自动转换为 Word 文档。通过 PDF 中间格式,不仅保留了幻灯片的排版效果,还可以在 Python 脚本中实现批量处理,适合会议纪要整理、培训资料生成以及文档归档等多种业务场景。

掌握这些核心类和方法后,你可以轻松实现 PowerPoint 到 Word 的自动化转换,提高工作效率,减少重复操作。

更多技术干货资料,这里:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material9

相关推荐
卓怡学长3 分钟前
w269基于spring boot + vue 候鸟监测数据管理系统
java·数据库·spring boot·spring·intellij-idea
庄周de蝴蝶4 分钟前
两次考试,总算压线通过系统分析师
后端·架构
孫治AllenSun22 分钟前
【MDC】使用 MDC 封装一个 LogMdcUtil 工具类
java·spring boot·后端
神奇小汤圆28 分钟前
Java 26正式发布!这3个新特性,让代码量直接减半
后端
济*沧*海30 分钟前
BaseMapper的介绍
java·windows·tomcat
李燚36 分钟前
Go 项目怎么组织:DDD 4 层 vs MVC vs 脚本式
开发语言·golang·mvc·ddd·agent框架·eino
再吃一根胡萝卜37 分钟前
一亿数据下,如何实时统计“业务员业绩 TOP 10”?别再 GROUP BY 了
后端
plainGeekDev37 分钟前
依赖管理 → Version Catalog
android·java·kotlin
Oneslide1 小时前
systemd-journald 使用与配置指南
后端
神奇小汤圆1 小时前
30分钟实现自己的AI聊天机器人(SpringBoot接入DeepSeek API)
后端