主页 > 办公自动化 > Python可以用来自动化办公 实现批量Word转pdf吗?

Python可以用来自动化办公 实现批量Word转pdf吗?

2021-12-22 13:46来源:m.sf1369.com作者:宇宇

这里需要导入几个模块from win32com.client import Dispatch # 没有的话输入pip install pywin32命令 即可安装from os import walkimport os os是用于文件处理常用的模块,至于Dispatch,它是提供了一个接口, win32提供了多种word转换为其他文件的接口,其中FileFormat=17是转换为pdf格式.之后转换文件逻辑也很简单,首先需要提取出文件名,word文件的后缀是doc或docx,那么将后缀名替换为pdf即可转换,这里用到replace方法,即replace(‘docx’,‘pdf’).replace(‘doc’,‘pdf’)因为有可能后缀是doc,所以需要2次判断。值得注意的是,转换的文件夹事先要存在,否则会报错误。下面是项目的源代码复制代码from win32com.client import Dispatch # pip install pywin32from os import walkimport oswdFormatPDF = 17 # win32提供了多种word转换为其他文件的接口,其中FileFormat=17是转换为pdfdef doc2pdf(input_file, input_file_name, output_dir): try: word = Dispatch('Word.Application') doc = word.Documents.Open(input_file) except Exception as e: print(word无法打开, 发生如下错误:\n{}.format(e)) try: pdf_file_name = input_file_name.replace(.docx, .pdf).replace(.doc, .pdf) pdf_file = os.path.join(output_dir, pdf_file_name) doc.SaveAs(pdf_file, FileFormat=wdFormatPDF) doc.Close() word.Quit() print(成功转换\{}\.format(input_file_name)) print() except Exception as e: print(文件保存失败, 发生如下错误:\n{}.format(e))if __name__ == __main__: path_in=input(请输入word文件夹的路径(绝对路径) 要保证存在 建议复制粘贴) path_out=input(请输入pdf文件夹的路径(绝对路径) 要保证存在 建议复制粘贴) doc_files = [] directory = path_in# word文件夹 output_dir =path_out # pdf文件夹 for root, _, filenames in walk(directory): # 第2个返回值是dirs, 用不上使用_占位 for file in filenames: if file.endswith(.doc) or file.endswith(.docx): print(转换{}中.......format(file)) doc2pdf(os.path.join(root, file), file, output_dir)复制代码

相关推荐

企业办公软件都有哪些?

办公自动化 2024-01-14

数控车床自动编程用什么软件?

办公自动化 2024-01-12

写字间物业管理方案

办公自动化 2023-12-09

自动化的好处和坏处

办公自动化 2023-12-05

单片机有什么特征?

办公自动化 2023-11-27

excel2007教程|excel2007教程下载

办公自动化 2023-11-22