
python中如何批量实现Word转pdf
批量实现Word转pdf操作说明
1、导入模块
from win32com.client import Dispatch # 没有的话输入pip install pywin32命令 即可安装 from os import walk import os
2、os是用于文件处理常用的模块,至于Dispatch,它是提供了一个接口, win32提供了多种word转换为其他文件的接口,其中FileFormat=17是转换为pdf格式.
3、首先需要提取出文件名,word文件的后缀是doc或docx,那么将后缀名替换为pdf即可转换,这里用到replace方法,即replace(‘docx’,‘pdf’).replace(‘doc’,‘pdf’)因为有可能后缀是doc,所以需要2次判断。
注意:转换的文件夹事先要存在,否则会报错误。
批量实现Word转pdf代码实例
from win32com.client import Dispatch # pip install pywin32
from os import walk
import os
wdFormatPDF = 17 # win32提供了多种word转换为其他文件的接口,其中FileFormat=17是转换为pdf
def 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)
以上就是python中批量实现Word转pdf的说明及具体代码,这种方法不难操作却能帮助我们解决批量转换的问题,可以尝试看看哦~
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试



