读取指定文件夹中的所有 .doc
和 .docx
文件,并利用 Word 软件将它们转换为 PDF 格式,并保存在同一个文件夹中,以源文件命名。
请确保你已经安装了 Microsoft Word,并且在运行脚本时关闭了所有正在运行的 Word 实例。运行该程序时,需要提供要处理的文件夹路径。
import os
import comtypes.client
def convert_doc_to_pdf(input_file, output_file):
# 创建 Word 应用实例
word = comtypes.client.CreateObject('Word.Application')
# 隐藏 Word 应用窗口
word.Visible = False
# 打开 Word 文档
doc = word.Documents.Open(input_file)
# 将 Word 文档另存为 PDF
doc.SaveAs(output_file, FileFormat=17)
# 关闭文档
doc.Close()
# 退出 Word 应用
word.Quit()
def convert_all_docs_to_pdfs(directory):
for filename in os.listdir(directory):
if filename.endswith(".doc") or filename.endswith(".docx"):
input_file = os.path.join(directory, filename)
output_file = os.path.join(directory, os.path.splitext(filename)[0] + ".pdf")
convert_doc_to_pdf(input_file, output_file)
print(f"Converted {input_file} to {output_file}")
if __name__ == "__main__":
directory = input("请输入文件夹路径:")
convert_all_docs_to_pdfs(directory)