Python 批量将 PPT 文件转为 PDF 文件

Python 批量将 PPT 文件转为 PDF 文件
该功能是基于 Python 实现的自动化办公格式转换工具,专门用于批量处理 PPT 演示文稿(支持 PPTX 主流格式、兼容 PPT 旧格式),可自动扫描指定文件夹内所有 PPT 文件并一键转换为 PDF 格式,无需手动逐个打开 PowerPoint 执行 “另存为 PDF” 操作,极大简化办公流程,提升文件标准化处理与归档效率。
核心特性
批量高效处理:自动遍历目标文件夹(支持递归查找子文件夹内的 PPT 文件),一次性识别所有待转换演示文稿并批量执行转换,彻底替代人工重复操作,大幅节省办公时间成本,尤其适用于大量 PPT 文件归档、批量分发等场景。
高保真版式还原:转换过程中能最大程度保留原 PPT 的核心版式细节,包括幻灯片布局、字体样式、图片位置、图表格式、动画静态效果、页眉页脚、背景样式等,转换后的 PDF 文件与原 PPT 视觉效果高度一致,可直接用于传阅、打印或正式归档,无需二次调整。
强兼容性与灵活配置
兼容性广:支持常规 PPTX/PPT 文件、大容量图文混排 PPT、带多媒体元素(音频 / 视频除外,保留占位符)、自定义模板的 PPT 转换;
配置灵活:可自定义 PDF 输出路径(同原文件目录 / 指定统一输出文件夹)、是否覆盖同名已存在 PDF、是否批量导出带备注的 PPT 内容,适配不同办公需求。
操作简洁易上手:基于成熟 Python 第三方库构建,代码逻辑清晰,参数配置简单,无需复杂专业技术背景,既可直接运行脚本,也可按需微调参数,还能封装为可双击运行的程序,方便非编程人员使用。

# -*- coding: utf-8 -*-
”’
Python批量将PPT文件转为PDF文件
”’
# 安装所需模块
# pip install comtypes -i https://pypi.tuna.tsinghua.edu.cn/simple
# 导入包
import comtypes.client
import os
# 定义方法
def init_powerpoint():
    ”’初始化PPT”’
    powerpoint = comtypes.client.CreateObject(“Powerpoint.Application”)
    powerpoint.Visible = 1
    return powerpoint
def ppt_to_img(powerpoint, inputFileName, outputFileName, imgpath):
    ”’PPT转图片操作”’
    if outputFileName[-3:] != ‘pdf’:
        outputFileName = outputFileName[0:-4] + “.pdf”
    deck = powerpoint.Presentations.Open(inputFileName)
    # 设置输出名称
    namear = os.path.split(outputFileName)
    minimgpath = namear[1].replace(“.pdf”,”.pdf”)
    minimgpath = minimgpath.replace(“..”,”.”)
    minimgpath = os.path.join(imgpath, minimgpath)
    # 17数字是ppt转图片,32数字是ppt转pdf。
    deck.SaveAs(minimgpath, 32)
    deck.Close()
def convert_files_in_folder(powerpoint, folder, imgpath):
    ”’过滤所有PPT文件并加入转换”’
    if not os.path.exists(imgpath):
        os.makedirs(imgpath)
    files = os.listdir(folder)
    pptfiles = [f for f in files if f.endswith((“.ppt”, “.pptx”))]
    for pptfile in pptfiles:
        fullpath = os.path.join(folder, pptfile)
        print(‘转换成功:’ + fullpath)
        ppt_to_img(powerpoint, fullpath, fullpath, imgpath)
if __name__ == “__main__”:
    # PPT文件的存放目录
    pptpath = r’D:\Test\pptx’
    # 保存转换后PDF的目录
    imgpath = r’D:\Test\pdf’
    # 遍历所有PPT文件并转换
    powerpoint = init_powerpoint()
    convert_files_in_folder(powerpoint, pptpath, imgpath)
    powerpoint.Quit()

原创文章,作者:管理员,如若转载,请注明出处:https://www.devcn.cn/56.html

(0)
管理员管理员
上一篇 2天前
下一篇 2天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注