日将将PPT和word批量转成pdf的需求还是比较普遍的。下列两段代码中,word转pdf的有时候会出现莫名奇妙的报错,跑了两次由于顺利将工作完成了,也没继续研究原因,有需要的使用时得注意下。ppt转pdf时有个缺点是会有ppt的弹窗出来,所以最好是闲置的时候使用。两段代码比较简约了,保留了核心功能,大规模实践可能会有bug,但是简单日常转化个几十个文件,是没问题的。
一、批量将word转化成pdf
使用到的模块:docx2pdf
将某个目录下的全部word转化成pdf
from docx2pdf import convert
import os
director = r'C:\Users\James\Desktop\合同目录'
FileList = map(lambda x:director+ '\\'+x, os.listdir(director))
for file in FileList:
convert(file,f"{file.split('.')[0]}.pdf")
二、批量将ppt转化成pdf
使用到的模块:comtypes
将某个目录下的PPT全部转化成pdf
import comtypes.client
import os
director = r'C:\Users\James\Desktop\全部PPT'
FileList = map(lambda x:director+ '\\'+x, os.listdir(director))
for file in FileList:
powerpoint = comtypes.client.CreateObject("Powerpoint.Application")
powerpoint.Visible = 1
slides = powerpoint.Presentations.Open(file)
#保存PDF
slides.SaveAs(f"{file.split('.')[0]}.pdf", 32)
slides.Close()
print("完成"+f"{file.split('.')[0]}.pdf")