本文同步发表于小弟自架网站(非钓鱼也无广告,纯分享):
微确幸资讯站
工作上的需求要收各单位的资料,做成会议议程,
但各单位给的资料通常档案很乱,而且给的word档案,
有的是旧版,有的是新版。
虽然word档案开启后,可以存成pdf档,
但有用过这种方法的网友就会知道,其实有点花时间,
尤其是要处理很多档案的时候,太浪费时间了。
首先看一下目标资料夹的状况:
接下来就来用程式处理了:
import osimport reimport win32com.client as win32# 设定目标资料夹path = 'D:\\temp\\test'files = os.listdir(path)for file in files: # 将档案名称以regex分成2组,第1组是附件开头的档名,第2组是附档名为doc或docx pattern = '(附件\d+-\d_.+)(.docx?$)' target = re.findall(pattern, file) if target: print(file) # target[0][0]是目标档案名称,target[0][1]是doc或docx的附档名 in_file = path + "\\" + target[0][0] + target[0][1] # 处理完的档案,附档名改成pdf out_file = path + "\\" + target[0][0] + ".pdf" word = win32.DispatchEx("Word.Application") doc = word.Documents.Open(in_file) doc.SaveAs(out_file, FileFormat=17) # FileFormat=17 是存成pdf档 doc.Close() word.Quit()print('-------------------------')print('所有word档转换pdf档:已完成')
执行结果:
附件1-1_侯茹康.docx
附件1-3_王冠恭.docx
附件10-1_陈彦雄.docx
附件10-2_陈婉明.docx
附件10-3_周与均.docx
附件10-4_徐淑萍.docx
附件10-5_王孟勋.docx
附件11-1_李政孝.docx
附件11-2_沈静怡.docx
附件12-1_林怡静.docx
附件12-2_林建来.docx
附件12-3_邰秀玲.docx
附件12-4_陈君谦.doc
附件12-6_孙维伦.doc
附件12-7_吴嘉茂.docx
附件12-8_陈秀美.doc
附件13-1_李孟珮.docx
附件13-2_袁惠文.docx
附件14-1_尹乔合.docx
附件2-1_陈淑惠.doc
附件3-1_翁映龙.docx
附件3-2_林国伟.docx
附件4-1_林柏宏.docx
附件5-1_周钧雨.docx
附件5-2_方维哲.docx
附件5-3_吴孟任.docx
附件6-1_赵香福.doc
附件6-2_吴贞行.docx
附件7-1_于向诚.docx
附件7-3_林敬和.docx
附件8-1_程睿芬.doc
附件8-2_姜淑芬.doc
附件8-3_杜馥治.doc
附件9-1_梁紫廷.doc
附件9-2_黄淑苓.doc所有word档转换pdf档:已完成
目标资料夹处理后的结果:
以上即完成本次目标。