今天直接甩个Word批量转图片脚本,拖个文件夹(或者单个文件),一张不落,还按页码排好。本地跑、不泄密、零成本,免费且速度快,批量转!
回复 “Word转图” 拿脚本(源代码)及exe版工具
pip install docx2pdf pillow pdf2image跑EXE版可跳过,下载双击即可跑。
import osimport sysimport win32com.clientimport fitz# 把Word文件或文件夹直接拖进来就行path = input('把Word文件/文件夹拖到这里:').strip().strip('"')# 判断是单个文件,还是整个文件夹if os.path.isfile(path):# 处理单个Word文件 folder = os.path.dirname(path) word_files = [os.path.basename(path)]print(f'检测到文件:{word_files[0]}')elif os.path.isdir(path):# 处理整个文件夹 folder = path# 自动找出所有 doc 和 docx 文件 word_files = [f for f in os.listdir(folder) if f.endswith(('.docx', '.doc'))]print(f'找到 {len(word_files)} 个Word文件')else:print('❌ 路径不对,重新拖一遍!') input('按回车退出...') sys.exit()# 一个Word都没找到,直接跑路if not word_files:print('❌ 文件夹里没有Word文件!') input('按回车退出...') sys.exit()# 自动建图片输出文件夹output_folder = os.path.join(folder, '图片输出')os.makedirs(output_folder, exist_ok=True)# 后台悄悄打开Word,不弹界面word = win32com.client.Dispatch("Word.Application")word.Visible = Falseword.DisplayAlerts = False# 挨个处理文件for file in word_files: file_path = os.path.join(folder, file)print(f'正在处理:{file}') doc = None try: doc = word.Documents.Open(file_path) base_name = os.path.splitext(file)[0]# 先生成临时PDF,再转图片更清晰 pdf_path = os.path.join(output_folder, f"{base_name}.pdf") doc.SaveAs(pdf_path, FileFormat=17)# PDF逐页转高清图片 pdf_doc = fitz.open(pdf_path)for page_num in range(len(pdf_doc)): page = pdf_doc.load_page(page_num)# 放大倍数,越大越清晰 zoom = 2.0 mat = fitz.Matrix(zoom, zoom) pix = page.get_pixmap(matrix=mat)# 按“文件名_第几页”命名 img_path = os.path.join(output_folder, f"{base_name}_第{page_num+1}页.png") pix.save(img_path)print(f' 第{page_num+1}页 已保存') pdf_doc.close()# 转完删掉临时PDF,不占空间 os.remove(pdf_path) except Exception as e:print(f'❌ 处理失败:{e}') finally:if doc: doc.Close()# 关闭Word后台程序word.Quit()print(f'✅ 全部搞定!图片在:{output_folder}')input('按回车收工...')
if os.path.isfile(path): folder = os.path.dirname(path) word_files = [os.path.basename(path)]word_files = [f for f in os.listdir(folder) if f.endswith(('.docx', '.doc'))]doc.SaveAs(pdf_path, FileFormat=17)zoom = 2.0zoom=2相当于144dpi。img_path = os.path.join(output_folder, f"{base_name}_第{page_num+1}页.png")文件名_第 N 页.png,找图一目了然,不用一个个点开猜。os.remove(pdf_path)pip install pywin32 PyMuPDF,两个都要装,缺一不可。zoom太小,改成 2.0以上立马清晰。WINWORD.EXE再跑。page_num == 0,适合做封面、预览图。.jpg就行,PNG更清晰,个人推荐先用PNG。zoom 改成可输入,想高清就高清,想小体积就小体积。觉得有用、看着顺手,记得点个赞、转一圈,收个藏,支持下继续更!
评论区吼一声,下期咱就盘它!
回复“Word转图”直接拿完整代码,双击即可跑,别再瞎写磨洋工!