Python 3 -- 批量将PPT转换为PDF

简短的Python代码,可实现批量地将微软Powerpoint文件(.ppt或者.pptx)转换为pdf格式,具有一定的参考意义。

# -*- coding: utf-8 -*-
"""
Created on Sun Mar 11 16:23:02 2018

@author: hp
"""

import comtypes.client
import os 
def init_powerpoint():
    powerpoint = comtypes.client.CreateObject("Powerpoint.Application")
    powerpoint.Visible = 1
    return powerpoint

def ppt_to_pdf(powerpoint, inputFileName, outputFileName, formatType = 32):
    if outputFileName[-3:] != 'pdf':
        outputFileName + ".pdf"
    deck = powerpoint.Presentations.Open(inputFileName)
    deck.SaveAs(outputFileName,formatType)                          # formatType = 32 for ppt to pdf
    deck.Close()

def convert_files_in_folder(powerpoint, folder):
    files = os.listdir(folder)                                      #回指定文件夹包含的文件或文件夹名字的列表
    pptfiles = [f for f in files if f.endswith((".ppt",".pptx"))]   #使用循环批量转换
    for pptfile in pptfiles:
        fullpath = os.path.join(cwd,pptfile)                        #将多个路径组合后返回
        ppt_to_pdf(powerpoint, fullpath, fullpath)

if __name__ == "__main__":
    powerpoint = init_powerpoint()
    cwd = os.getcwd()  # 返回当前进程的目录
    convert_files_in_folder(powerpoint, cwd)
    powerpoint.Quit()

说明:

使用说明:

  1. PC已下载微软Powerpoint
  2. 将Python脚本与PPT文件位于同一个文件夹下。

代码说明:

1、os.listdir()与os.path.join()的使用

详见 Python 3.6 :os.listdir()与os.path.join()方法的使用

2、os.getcwd()使用:

作用:

os.getcwd() 方法用于返回当前工作目录。

语法:

os.getcwd()方法的语法如下:

os.getcwd()

参数:

实例:

import os , sys
os.chdir("D:/project/re code/blog")
print("Current working directory:", os.getcwd())
Current working directory: D:\project\re code\blog

代码参考:

27行

你可能感兴趣的:(python)