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

查看 112|回复 10
作者:wking   
import
[color=]comtypes
.
[color=]client
import
[color=]os
from
[color=]datetime
import
[color=]datetime
[color=]def
convert_word_to_pdf_comtypes(word_file, pdf_file):
    try:
        
[color=]word
=
[color=]comtypes
.
[color=]client
.
[color=]CreateObject
(
[color=]'Word.Application'
)
        
[color=]word
.Visible =
[color=]False

        
[color=]doc
=
[color=]word
.Documents.
[color=]Open
(word_file)
        
[color=]doc
.
[color=]SaveAs
(pdf_file, FileFormat=
[color=]17
)  # 17 代表 PDF 格式
        
[color=]doc
.
[color=]Close
()
        
[color=]word
.
[color=]Quit
()
        
[color=]timestamp
=
[color=]datetime
.
[color=]now
().
[color=]strftime
(
[color=]"%Y-%m-
[color=]%d
[color=] %H:%M:%S"
)
        
[color=]print
(
[color=]f
[color=]"
[color=]{
[color=]timestamp
[color=]}
[color=] 成功将
[color=]{
word_file
[color=]}
[color=] 转换为
[color=]{
pdf_file
[color=]}
[color=]"
)
    except
[color=]Exception
as
[color=]e
:
        
[color=]print
(
[color=]f
[color=]"转换
[color=]{
word_file
[color=]}
[color=] 失败:
[color=]{
[color=]e
[color=]}
[color=]"
)
[color=]def
batch_convert_word_to_pdf(folder_path):
    if
[color=]not

[color=]os
.
[color=]path
.
[color=]exists
(folder_path):
        
[color=]print
(
[color=]f
[color=]"错误:文件夹路径 '
[color=]{
folder_path
[color=]}
[color=]' 不存在。"
)
        return
    for
[color=]filename
in
[color=]os
.
[color=]listdir
(folder_path):
        if
[color=]filename
.
[color=]endswith
((
[color=]'.doc'
,
[color=]'.docx'
)):
            
[color=]word_file
=
[color=]os
.
[color=]path
.
[color=]join
(folder_path,
[color=]filename
)
            
[color=]pdf_file
=
[color=]os
.
[color=]path
.
[color=]join
(folder_path,
[color=]os
.
[color=]path
.
[color=]splitext
(
[color=]filename
)[
[color=]0
] +
[color=]".pdf"
)
            
[color=]convert_word_to_pdf_comtypes
(
[color=]word_file
,
[color=]pdf_file
)
if
[color=]__name__
==
[color=]"__main__"
:
   
[color=]folder_path
=
[color=]r
[color=]"
D:\Documents\test
[color=]"
  # 替换为你的 Word 文件夹路径
   
[color=]timestamp
=
[color=]datetime
.
[color=]now
().
[color=]strftime
(
[color=]"%Y-%m-
[color=]%d
[color=] %H:%M:%S"
)
   
[color=]print
(
[color=]timestamp
+
[color=]" 开始处理"
)
   
[color=]batch_convert_word_to_pdf
(
[color=]folder_path
)
   
[color=]timestamp
=
[color=]datetime
.
[color=]now
().
[color=]strftime
(
[color=]"%Y-%m-
[color=]%d
[color=] %H:%M:%S"
)
   
[color=]print
(
[color=]timestamp
+
[color=]" 全部处理完毕!"
)


微信截图_20241118180649.png (149.93 KB, 下载次数: 0)
下载附件
2024-11-18 18:08 上传

文件夹, 文件

coliuer   

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

[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   

不过挺实用的
lovlss   

可以打包成exe文件吗
joker52486   

刚刚进行比赛测评,需要这个文件,刚刚好
ifeijia   

收藏一下,会点python,但不多哈哈
zhengkejie   

好心人打包一下呗,没有python环境
DoctorBO   

挺实用的
kekege1828   

office文档批量转PDF工具,office2pdf v2.0.1 - 吾爱破解 - 52pojie.cn
https://www.52pojie.cn/thread-1572833-1-1.html
有人发过
您需要登录后才可以回帖 登录 | 立即注册

返回顶部