Python批量Word转PDF神器,让你从此轻松转换文档!

大家好!今天我们来聊聊工作中可能遇到的一个“头大”问题:如何批量将Word文档转成PDF?是不是光听听都感觉头皮发麻?

不用担心,今天我们就来分享一个Python小技巧,让你在批量转换文档时再也不用抓狂!

为什么需要批量Word转PDF?

想象一下,你是公司的行政小能手,每天面对成堆的合同、报告需要转换格式,手动操作简直不敢想象的累。关键是,老板还老催!Python作为技术潮人必备的技能之一,这时候就派上用场了!

工具准备

我们需要python-docx来处理Word文件内容,comtypes库用来调用Windows的脚本接口实现Word转PDF操作。这两位神器助攻绝对让你事半功倍!

首先,安装这两个库:

pip install python-docx comtypes

开工大吉

准备好了吗?让我们划开Python的面板,用代码解决这个烦人的问题吧!

import os
import comtypes.client


def docx_to_pdf(docx_path, pdf_path):
    word = comtypes.client.CreateObject('Word.Application')
    doc = word.Documents.Open(docx_path)
    doc.SaveAs(pdf_path, FileFormat=17)  # 17 is the format type for PDFs
    doc.Close()
    word.Quit()


def batch_convert_docx_to_pdf(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for filename in os.listdir(input_folder):
        if filename.endswith(".docx"):
            docx_path = os.path.join(input_folder, filename)
            pdf_filename = f"{os.path.splitext(filename)[0]}.pdf"
            pdf_path = os.path.join(output_folder, pdf_filename)

            docx_to_pdf(docx_path, pdf_path)
            print(f"Converted {filename} to PDF.")


# 运行批量转换
batch_convert_docx_to_pdf(
    "C:/Users/olive/Desktop/待转换的Word",
    "C:/Users/olive/Desktop/转换后的PDF")

代码解读

1、转换函数docx_to_pdf

这个小函数负责干实事儿,把一个Word文件转成PDF。FileFormat=17是指定保存为PDF格式的魔法数字。

2、批量转换函数 batch_convert_docx_to_pdf

这个函数会扫描指定的输入文件夹,找到所有的 .docx 文件,逐个调用 docx_to_pdf 函数批量转成PDF并输出到指定文件夹。

如果还有不明白的地方,可以细读一下下面的详细解析:

1、首先,导入了必要的库:
  - os:用于文件路径操作和文件夹操作。
  - comtypes.client:用于与COM(Component Object Model)组件进行通信的客户端模块,这里用于操作Microsoft Word应用程序。

2、定义了函数docx_to_pdf:
  - 该函数使用comtypes库创建了一个Word应用程序对象(word)。
  - 打开并操作对应路径的Word文档,将其另存为PDF格式文件。
  - 最后关闭Word文档和退出Word应用程序。

3、定义了函数batch_convert_docx_to_pdf:
  - 该函数接受两个参数:输入文件夹路径(input_folder)和输出文件夹路径(output_folder)。
  - 如果输出文件夹不存在,则创建输出文件夹。
  - 遍历输入文件夹中的所有文件,对扩展名为".docx"的文件执行转换操作,调用docx_to_pdf函数将Word文档转换为PDF格式。

4.调用batch_convert_docx_to_pdf函数,传入待转换的Word文档所在的文件夹路径和转换后的PDF文件存放的文件夹路径。

激动人心的测试

我i们先准备几个Word文档,就用上次生成的合同文档吧:

接着,要修改一下测试代码,记得改成你自己的文件路径:

# 运行批量转换
batch_convert_docx_to_pdf(
    "C:/Users/olive/Desktop/待转换的Word",
    "C:/Users/olive/Desktop/转换后的PDF")

最后,运行一下我们的代码,检验一下我们的成果吧:

在【转换后的PDF】目录下,成功生成了3个PDF文档:

我们随便打开一个PDF文档,看一下效果:

效果非常棒!!

大功告成

怎么样?是不是感觉超级简单?只要执行一次后,你就可以坐在办公桌前翘脚喝咖啡,看着代码帮你忙得不亦乐乎!在这个快节奏的时代,掌握一些小技能真的能帮我们省去不少时间。希望今天的分享能帮助到你,批量转换Word文档再也不是难题。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值