wking 发表于 2024-11-18 18:08

python 批量转换文件夹下所有 Word 文件为 PDF 文件

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 + " 全部处理完毕!")


coliuer 发表于 2024-11-18 19:43

用ai可以很快写出,我之前就写了一个,就用百度直接搜

52shijie 发表于 2024-11-18 21:42


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) + ".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
(出处: 吾爱破解论坛)
页: [1] 2 3 4 5
查看完整版本: python 批量转换文件夹下所有 Word 文件为 PDF 文件