将脚本跟 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 pdf
14 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()