import os from pdf2image import convert_from_path import comtypes.client # 1. doc/docx 转 pdf current_directory = os.getcwd() print(current_directory ) doc_file = current_directory + "\\test.doc" pdf_file = current_directory + "\\test.pdf" def doc_to_pdf(doc_path, pdf_path): word = comtypes.client.CreateObject("Word.Application") doc = word.Documents.Open(doc_path) doc.SaveAs(pdf_path, FileFormat=17) # 17 表示 PDF 格式 doc.Close() word.Quit() def process_directory(dir_path): print(f"开始处理目录:{dir_path}") for file in os.listdir(dir_path): if file.lower().endswith(".doc") and not file.lower().endswith(".docx"): doc_path = os.path.join(dir_path, file) pdf_path = os.path.splitext(doc_path)[0] + ".pdf" try: # 1. doc → pdf doc_to_pdf(doc_path, pdf_path) # 2. pdf → jpg images = convert_from_path(pdf_file, dpi=200) for i, page in enumerate(images, start=1): if i < 8: jpg_name =f"个人申请表{i}.jpg" else: jpg_name =f"背景审查结论.jpg" page.save(os.path.join(dir_path, jpg_name),"JPEG") # 3. 删除 doc 和 pdf os.remove(doc_path) os.remove(pdf_path) print(f" ✔ 成功处理文件: {file}") except Exception as e: print(f" ✘ 处理失败 {file}: {e}") print(f"完成目录处理:{dir_path}\n") def main(): base_dir = "target" for root, dirs, files in os.walk(base_dir): # 只处理子目录,不处理 base_dir 自己的文件 for d in dirs: subdir = os.path.join(root, d) process_directory(os.getcwd() + "\\" + subdir) # print(subdir) if __name__ == "__main__": main()