用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)
相关推荐
电饭叔6 分钟前
python转换字符串介绍
开发语言·windows·python
doris820419 分钟前
Python 正则表达式 re.findall()
java·python·正则表达式
Mrliu__23 分钟前
Python高级技巧(六):正则表达式
开发语言·python·正则表达式
(initial)31 分钟前
B-02. Shared Memory 深度优化:从 Bank Conflict 到 Tensor Core Swizzling
开发语言·c#
码路飞1 小时前
Gemini 3.1 Pro 发布 3 天,我用同一个 API 跑了 3 家大模型横评,结果有点意外
python
癫狂的兔子2 小时前
【Python】【机器学习】贝叶斯算法
python·机器学习
代码小书生2 小时前
pillow,一个实用的 Python 库!
开发语言·python·pillow
A懿轩A2 小时前
【Java 基础编程】Java 异常处理保姆级教程:try-catch-finally、throw/throws、自定义异常
java·开发语言·python
追求源于热爱!2 小时前
记10,Gradio介绍
python
破晓之翼3 小时前
Skill原理及国内大模型实践
人工智能·python