将脚本跟PPT文件搁置在同一个文件夹下,运行脚本,可能批量地将微软Powerpoint文件(.ppt或.pptx)转换为pdf格局。

 1 import comtypes.client 2 import os 3  4 def init_powerpoint(): 5    powerpoint = comtypes.client.CreateObject("Powerpoint.Application") 6    powerpoint.Visible = 1 7    return powerpoint 8  9 def ppt_to_pdf(powerpoint, inputFileName, outputFileName, formatType = 32):10    if outputFileName[-3:] != 'pdf':11        outputFileName = outputFileName + ".pdf"12    deck = powerpoint.Presentations.Open(inputFileName)13    deck.SaveAs(outputFileName, formatType) # formatType = 32 for ppt to pdf14    deck.Close()15 16 def convert_files_in_folder(powerpoint, folder):17    files = os.listdir(folder)18    pptfiles = [f for f in files if f.endswith((".ppt", ".pptx"))]19    for pptfile in pptfiles:20        fullpath = os.path.join(cwd, pptfile)21        ppt_to_pdf(powerpoint, fullpath, fullpath)22 23 if __name__ == "__main__":24    powerpoint = init_powerpoint()25    cwd = os.getcwd()26    convert_files_in_folder(powerpoint, cwd)27    powerpoint.Quit()