用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)
相关推荐
一个天蝎座 白勺 程序猿11 分钟前
Python练习(1)Python基础类型操作语法实战:20道实战题解与案例分析(上)
开发语言·python·学习
巨人张31 分钟前
信息素养Python编程题
开发语言·python
站大爷IP36 分钟前
Python爬虫动态IP代理报错全解析:从问题定位到实战优化
python
hie9889443 分钟前
CentOS环境搭建-快速升级G++版本
linux·python·centos
盛寒1 小时前
向量空间 线性代数
python·线性代数·机器学习
5171 小时前
Django中序列化与反序列化
后端·python·django
lxiaoj1111 小时前
Python文件操作笔记
笔记·python
Tomorrow'sThinker2 小时前
✍️ Python 批量设置 Word 文档多级字体样式(标题/正文/名称/小节)
python·自动化·word·excel
[纳川]2 小时前
把word中表格转成excle文件
开发语言·c#·word