程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

利用python实现PPT文件合并(python合并word)

hfteth 2025-05-10 22:08:10 技术文章 8 ℃

本文介绍了如何使用Python的win32com模块来实现PPT文件的合并操作。这种方法并不是唯一可行的方法,还有其他库如python-pptx也可以实现PPT文件的操作。

在使用之前,需要先确保操作系统已经安装了Microsoft PowerPoint,并且你的Python环境已经安装了pywin32模块。这种合并方式会依赖office应用。

实现逻辑

通过使用win32com模块,我们可以首先打开第一个PPT文件,然后按照顺序打开后续的文件,并将每个PPT文件中的幻灯片复制并粘贴到第一个PPT文件中。完成操作后,我们将第一个PPT文件另存为一个新的文件。

安装win32库

pip3 install pywin32

安装完pywin32后包含,win32api 、 win32com 、 win32gui。

excel和word都可使用此模块来操作。

代码示例

from win32com.client import Dispatch
import os


def join_ppt(ppt_files_list):
    ppt = Dispatch('PowerPoint.Application')
    ppt.Visible = 1  # 前台运行,
    ppt.DisplayAlerts = 0   # 关闭告警

    # 打开第一个ppt文件
    first_ppt = ppt.Presentations.Open(ppt_files_list[0])

    # for dir in ppt_files_list[1:len(ppt_files_list):1]:
    # 从第二个ppt开始打开处理
    for ppt_path in ppt_files_list[1:]:
        print(ppt_path)
        ppt_file = ppt.Presentations.Open(ppt_path)

        # 将后续的ppt内容临时复制到第一个ppt文件中
        for i in range(1, len(ppt_file.Slides) + 1):
            # 复制ppt内容
            ppt_file.Slides(i).Copy()
            # 粘贴到第一个ppt中
            first_ppt.Slides.Paste()
        ppt_file.Close()

    # 将第一个ppt另存为一个新文件
    first_ppt.SaveAs(r'C:\Users\gcg12\Desktop\new.pptx')
    first_ppt.Close()
    ppt.Quit()


ppt_file_path = r'C:\ppt'   # 替换成自己的路径
ppt_list = [os.path.join(ppt_file_path, name) for name in os.listdir(ppt_file_path)]
print(ppt_list)

join_ppt(ppt_list)



Tags:

最近发表
标签列表