为了让iPad能够较方便地开启PPT文件,被迫写一个帮助ppt进行高速咏唱的批处理程序
import comtypes.client
import os
# 创建ppt对象
def init_powerpoint():
powerpoint = comtypes.client.CreateObject('Powerpoint.Application')
powerpoint.Visible = 1
return powerpoint
# 打开ppt,更换后缀为pptx
def ppt_to_pptx(powerpoint, inputFileName):
if(inputFileName[-3:] == 'ppt'):
outputFileName = inputFileName[:-4] + '.pptx'
app = powerpoint.Presentations.Open(inputFileName)
app.SaveAs(outputFileName)
app.Close()
# 打开文件,输出pdf,默认格式化32
def ppt_to_pdf(powerpoint, inputFileName, formatType=32):
if(inputFileName[-3:] == 'ppt'):
outputFileName = inputFileName[:-4] + ".pdf"
app = powerpoint.Presentations.Open(inputFileName)
app.SaveAs(outputFileName, formatType)
app.Close()
if(inputFileName[-4:] == 'pptx'):
outputFileName = inputFileName[:-5] + ".pdf"
app = powerpoint.Presentations.Open(inputFileName)
app.SaveAs(outputFileName, formatType)
app.Close()
# 对所有ppt类型文件应用
def switch_the_fucking_ppt(powerpoint, folder, mod):
files = os.listdir(folder)
ppts = [f for f in files if f.endswith((".ppt", ".pptx"))]
for ppt in ppts:
path = os.path.join(folder, ppt)
if mod == 1:
ppt_to_pptx(powerpoint, path)
elif mod == 2:
ppt_to_pdf(powerpoint, path)
else:
return
if __name__ == "__main__":
folder = input('请输入文件夹地址,如\'C:\\Users\\Syan\\Desktop\\大学物理\':\n')
mod = int(input('请输入要执行的操作:\n1、ppt2pptx\n2、ppt/pptx2pdf\n'))
powerpoint = init_powerpoint()
switch_the_fucking_ppt(powerpoint, folder, mod)
powerpoint.Quit()
参考了《Python批量将ppt转换为pdf》,感谢一下作者

Comments NOTHING