用python把docx批量转为pdf

为保证转换质量,本文的方法是通过脚本和com技术调用office自带的程序进行转换的,因此需要电脑已经装有office。如果希望不装office也能用,则需要研究OpenXML技术,后面实在闲的慌(退休)再搞。

安装所需库

bash 复制代码
pip install comtypes

示例代码

python 复制代码
# Copy from Yue Zhang

import os
import comtypes.client

def convert_word_to_pdf(folder_path):
    word = comtypes.client.CreateObject("Word.Application")
    word.Visible = False

    for file in os.listdir(folder_path):
        if file.endswith(".docx") or file.endswith(".doc"):
            in_file = os.path.abspath(os.path.join(folder_path, file))
            out_file = os.path.abspath(os.path.join(folder_path, file.replace(".docx", ".pdf").replace(".doc", ".pdf")))

            doc = word.Documents.Open(in_file)
            doc.SaveAs(out_file, FileFormat=17) # 17 代表 PDF 格式
            doc.Close()

    word.Quit()

# 使用示例
folder_path = '存放docx或者doc文件的文件夹路径'
convert_word_to_pdf(folder_path)
相关推荐
像风一样的男人@16 分钟前
python --打包pyd或so文件
开发语言·python
MediaTea1 小时前
Python:生成器对象的扩展接口
开发语言·网络·python
Katecat996631 小时前
基于FCOS-HRNetV2P的高空作业安全装备检测与违规行为识别系统
python
开开心心_Every2 小时前
在线看报软件, 22家知名报刊免费看
linux·运维·服务器·华为od·edge·pdf·华为云
好家伙VCC2 小时前
# 发散创新:基于Python的轻量级测试框架设计与实践 在现代软件开发中,**自动化
java·开发语言·python·自动化
007张三丰2 小时前
软件测试专栏(5/20):自动化测试入门指南:从零开始构建你的第一个测试框架
自动化测试·python·算法·压力测试·测试框架
NGC_66112 小时前
Java异常体系
开发语言·python
tang777892 小时前
深挖66免费代理网站:隐藏功能与真实体验报告
爬虫·python·网络爬虫·ip
曲幽2 小时前
FastAPI 实战:WebSocket 从入门到上线,使用避坑指南
python·websocket·fastapi·web·async·asyncio
rabbitlzx3 小时前
《Async in C# 5.0》第十四章 深入探讨编译器对于async的转换
java·开发语言·c#·异步·asynchronous