吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 730|回复: 44
收起左侧

[Python 原创] python 批量转换文件夹下所有 Word 文件为 PDF 文件

  [复制链接]
wking 发表于 2024-11-18 18:08
import comtypes.client
import os
from datetime import datetime
def convert_word_to_pdf_comtypes(word_file, pdf_file):
    try:
        word = comtypes.client.CreateObject('Word.Application')
        word.Visible = False
        doc = word.Documents.Open(word_file)
        doc.SaveAs(pdf_file, FileFormat=17)  # 17 代表 PDF 格式
        doc.Close()
        word.Quit()
        timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(f"{timestamp} 成功将 {word_file} 转换为 {pdf_file}")
    except Exception as e:
        print(f"转换 {word_file} 失败: {e}")
def batch_convert_word_to_pdf(folder_path):
    if not os.path.exists(folder_path):
        print(f"错误:文件夹路径 '{folder_path}' 不存在。")
        return
    for filename in os.listdir(folder_path):
        if filename.endswith(('.doc', '.docx')):
            word_file = os.path.join(folder_path, filename)
            pdf_file = os.path.join(folder_path, os.path.splitext(filename)[0] + ".pdf")
            convert_word_to_pdf_comtypes(word_file, pdf_file)
if __name__ == "__main__":
    folder_path = r"D:\Documents\test"  # 替换为你的 Word 文件夹路径
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(timestamp + " 开始处理")
    batch_convert_word_to_pdf(folder_path)
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(timestamp + " 全部处理完毕!")
微信截图_20241118180649.png

微信截图_20241118180708.png

免费评分

参与人数 3吾爱币 +2 热心值 +2 收起 理由
nancheng1967 + 1 + 1 我很赞同!
mathildada + 1 我很赞同!
GM1986 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

coliuer 发表于 2024-11-18 19:43
用ai可以很快写出,我之前就写了一个,就用百度直接搜
52shijie 发表于 2024-11-18 21:42
[Python] 纯文本查看 复制代码
import comtypes.client
import os
from datetime import datetime
def convert_word_to_pdf_comtypes(word_file, pdf_file):
    try:
        word = comtypes.client.CreateObject('Word.Application')
        word.Visible = False
        doc = word.Documents.Open(word_file)
        doc.SaveAs(pdf_file, FileFormat=17)  # 17 代表 PDF 格式
        doc.Close()
        word.Quit()
        timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(f"{timestamp} 成功将 {word_file} 转换为 {pdf_file}")
    except Exception as e:
        print(f"转换 {word_file} 失败: {e}")
def batch_convert_word_to_pdf(folder_path):
    if not os.path.exists(folder_path):
        print(f"错误:文件夹路径 '{folder_path}' 不存在。")
        return
    for filename in os.listdir(folder_path):
        if filename.endswith(('.doc', '.docx')):
            word_file = os.path.join(folder_path, filename)
            pdf_file = os.path.join(folder_path, os.path.splitext(filename)[0] + ".pdf")
            convert_word_to_pdf_comtypes(word_file, pdf_file)
if __name__ == "__main__":
    folder_path = r"D:\Documents\test"  # 替换为你的 Word 文件夹路径
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(timestamp + " 开始处理")
    batch_convert_word_to_pdf(folder_path)
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(timestamp + " 全部处理完毕!")
DoubleDragon 发表于 2024-11-18 20:05
lovlss 发表于 2024-11-18 20:12
可以打包成exe文件吗
joker52486 发表于 2024-11-18 20:13
刚刚进行比赛测评,需要这个文件,刚刚好
ifeijia 发表于 2024-11-18 20:30
收藏一下,会点python,但不多哈哈
zhengkejie 发表于 2024-11-18 20:40
好心人打包一下呗,没有python环境
DoctorBO 发表于 2024-11-18 20:49
挺实用的
kekege1828 发表于 2024-11-18 21:17
office文档批量转PDF工具,office2pdf v2.0.1 - 吾爱破解 - 52pojie.cn
https://www.52pojie.cn/thread-1572833-1-1.html
有人发过
苏紫方璇 发表于 2024-11-18 21:19
插入代码的方法可以参考置顶帖
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 09:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表