用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)
相关推荐
生信大表哥17 小时前
单细胞测序分析(五)降维聚类&数据整合
linux·python·聚类·数信院生信服务器
故事不长丨17 小时前
C#定时器与延时操作的使用
开发语言·c#·.net·线程·定时器·winform
阿桂有点桂18 小时前
C#使用VS软件打包msi安装包
windows·vscode·c#
c#上位机18 小时前
halcon图像增强之分段灰度拉伸2
c#·上位机·halcon·机器视觉
yue00818 小时前
C# Directory的用法介绍
开发语言·c#
seeyoutlb18 小时前
微服务全局日志处理
java·python·微服务
ada7_18 小时前
LeetCode(python)——148.排序链表
python·算法·leetcode·链表
岁月宁静19 小时前
LangChain + LangGraph 实战:构建生产级多模态 WorkflowAgent 的完整指南
人工智能·python·agent
第二只羽毛20 小时前
主题爬虫采集主题新闻信息
大数据·爬虫·python·网络爬虫
plmm烟酒僧20 小时前
TensorRT 推理 YOLO Demo 分享 (Python)
开发语言·python·yolo·tensorrt·runtime·推理