python中如何批量实现Word转pdf

1,871次阅读
没有评论

python中如何批量实现Word转pdf

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免费测试
1

相关文章:

版权声明:wuyou2021-05-10发表,共计1712字。
新手QQ群:570568346,欢迎进群讨论 Python51学习