当前位置:   article > 正文

【摸鱼技巧一】【python】PPT批量转PDF_python批量ppt转pdf程序

python批量ppt转pdf程序

准备工作

  1. 打开电脑,打开ppt准备复习预习,为了好翻页转出PDF,但是PPT有很多章,需要批量转出。

  2. 使用的是 python3.10,office2021

  3. 安装相应的包(应该都有)
    在这里插入图片描述

  4. 文件位置
    在这里插入图片描述

运行效果

使用VScode运行成功
在这里插入图片描述
2022年5月14日使用jupyter notebook运行成功
在这里插入图片描述

代码

# 1). 导入需要的模块(打开应用程序的模块)
import win32com.client
import os
def ppt2pdf(filename, output_filename):
    """
    PPT文件导出为pdf格式
    filename: PPT文件的名称
    output_filename: 导出的pdf文件的名称
    """
    # 2). 打开PPT程序
    ppt_app = win32com.client.Dispatch('PowerPoint.Application')
    # ppt_app.Visible = True  # 程序操作应用程序的过程是否可视化

    # 3). 通过PPT的应用程序打开指定的PPT文件
    # filename = "D:/大三下课程资料/嵌入式/PPT/xxx.ppt"
    # output_filename = "D:/大三下课程资料/嵌入式/PDF/xxx.pdf"
    
    ppt = ppt_app.Presentations.Open(filename)

    # 4). 打开的PPT另存为pdf文件。17数字是ppt转图片,32数字是ppt转pdf。
    output_filename = output_filename.replace('/', '\\');
    print(output_filename)
    ppt.SaveAs(output_filename,32)
    print(output_filename+"导出成pdf格式成功!!!")
    # 退出PPT程序
    ppt_app.Quit()


def main():
    # 要处理的目录名称
    dirname = 'D:/大三下课程资料/嵌入式'
    # 列出指定目录的内容
    filenames = os.listdir(dirname+'/PPT') #D:/大三下课程资料/嵌入式/PPT里面是xxx.ppt
    # for循环依次访问指定目录的所有文件名
    for filename in filenames:
        # 判断文件的类型,对所有的ppt文件进行处理(ppt文件以ppt或者pptx结尾的)
        if filename.endswith('ppt') or filename.endswith('pptx'):
            print(filename)           # PPT.pptx -> PPT.pdf
            # 将filename以.进行分割,返回2个信息,文件的名称和文件的后缀名
            base, ext = filename.split('.')  # base=PPT素材1 ext=pdf
            new_name = base + '.pdf'         # PPT素材1.pdf
            # ppt文件的完整位置:D:/大三下课程资料/嵌入式/PPT/xxx.ppt
            filename = dirname + '/PPT/' + filename
            #print(filename)
            # pdf文件的完整位置:D:/大三下课程资料/嵌入式/PDF/xxx.pdf
            output_filename = dirname + '/PDF/' + new_name
            #print(output_filename)
            # 将ppt转成pdf文件
            ppt2pdf(filename, output_filename)


if __name__ == "__main__":
    main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

后记

如果你说,哎呀,你费这么大劲干嘛,我直接找网上的网站一键批量转换就好了。那我会说,你说的很好,下次不许再说了。。。
官方文档https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.presentation.saveas
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/878387
推荐阅读
相关标签
  

闽ICP备14008679号