Windows平台下Word文档批量转换PDF文档
前置条件
1.电脑已安装 Microsoft Word2.安装 Python 依赖库:```pip install pywin32```
import osimport win32com.client as win32from pathlib import Pathdef word_to_pdf_batch(input_folder: str, output_folder: str = None):""" 批量将Word文档转换为PDF :param input_folder: 存放Word文件的文件夹路径 :param output_folder: 输出PDF的文件夹路径(不填则默认和原文件同目录) """# 如果未指定输出文件夹,默认创建pdf_output子文件夹if output_folder is None: output_folder = Path(input_folder) / "pdf_output"# 创建输出文件夹(如果不存在) Path(output_folder).mkdir(parents=True, exist_ok=True)# 启动Word程序(后台运行,不显示窗口) word_app = win32.DispatchEx("Word.Application") word_app.Visible = False word_app.DisplayAlerts = 0 # 关闭弹窗提示 try:# 遍历文件夹所有文件for file in os.listdir(input_folder): file_path = os.path.join(input_folder, file)# 只处理docx和doc文件if file.lower().endswith((".docx", ".doc")) and os.path.isfile(file_path):print(f"正在转换:{file}")# 生成PDF文件名 pdf_name = Path(file).stem + ".pdf" pdf_path = os.path.join(output_folder, pdf_name)# 打开并转换文档 doc = word_app.Documents.Open(file_path) doc.SaveAs(pdf_path, FileFormat=17) # 17=PDF格式 doc.Close()print(f"转换完成:{pdf_name}\n")print("✅ 所有文档转换完成!") except Exception as e:print(f"❌ 转换出错:{str(e)}") finally:# 关闭Word程序 word_app.Quit()# ====================== 使用示例 ======================if __name__ == "__main__":# 替换为你的Word文档所在文件夹 INPUT_DIR = r"C:\InputFolder"# 替换为你想保存PDF的文件夹(留空则自动创建pdf_output) OUTPUT_DIR = r"C:\OutputFolder" word_to_pdf_batch(INPUT_DIR, OUTPUT_DIR)
夜雨聆风