当前位置: 首页 > 后端技术 > Python

Word批量转PDF

时间:2023-03-26 18:35:41 Python

现实中,我们大多数人都做过将Word文件转PDF文件的工作。如果要转换的文件很少,我们手动转换也没有问题。但是如果要转换的文件比较多,手动转也是很费功夫的。这时候,我们就需要寻找一种更方便、更高效的方式。我们可以使用Python将Word文件批量转换为PDF文件。因此,当我们需要转换很多文件时,可以考虑使用这种方法。转换功能的实现需要使用第三方库comtypes,可以使用pipinstallcomtypes安装。实现的基本思路是:我们把要转换的Word文件放在一个目录下,通过Python实现文件的遍历和转换。转换函数的代码实现也比较简单,如下图:defget_file(input_path,output_path):#获取所有文件名列表filename_list=os.listdir(input_path)#获取所有Word文件名列表wordname_list=[filenameforfilenameinfilename_list\iffilename.endswith((".doc",".docx"))]forwordnameinwordname_list:#分隔Word文件名和后缀,转换为PDF文件名pdfname=os.path.splitext(wordname)[0]+".pdf"#如果当前Word文件对应的PDF文件存在,则不转换ifpdfnameinfilename_list:continue#加入路径和文件名wordpath=os.path.join(input_path,wordname)pdfpath=os.path.join(output_path,pdfname)#生成器yieldwordpath,pdfpathdefword2pdf(input_path,output_path):word=comtypes.client.CreateObject("Word.Application")word.Visible=0forwordpath,get_file(input_path,output_path)中的pdfpath:newpdf=word.Documents.Open(wordpath)newpdf.SaveAs(pdfpath,FileFormat=17)newpdf.Close()看看效果吧,Word文件内容如下提示:看一下转换后的PDF文件:我们可以看到,无论是文字样式还是图片,转换后的效果都比较好。