当前位置:首页>python>Python脚本直达第13期|Word批量转图片,一键搞定不费力

Python脚本直达第13期|Word批量转图片,一键搞定不费力

  • 2026-09-11 11:20:12
Python脚本直达第13期|Word批量转图片,一键搞定不费力

废话少说,直接上家伙。

今天直接甩个Word批量转图片脚本,拖个文件夹(或者单个文件),一张不落,还按页码排好。本地跑、不泄密、零成本,免费且速度快,批量转!

回复 “Word转图” 拿脚本(源代码)及exe版工具

首先装好所需的Python库

  • 在CMD命令窗,敲入以下命令回车,就能装完所有需要的库。
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'))]
  • 自动把文件夹里所有Word扒出来,新旧格式doc、docx都认,不用你手动筛选。
doc.SaveAs(pdf_path, FileFormat=17)
  • 这是核心一步:Word不能直接分页存图,所以先转 PDF 再拆图片,路子最稳、清晰度最高。
zoom = 2.0
  • 放大倍数,控制图片清晰度。PDF默认72dpi,直接转出来糊成马赛克。zoom=2相当于144dpi。
  • 2.0办公够用,想更清晰就改3/4,文件会变大,自己掂量。
img_path = os.path.join(output_folder, f"{base_name}_第{page_num+1}页.png")
  • 命名规则:文件名_第 N 页.png,找图一目了然,不用一个个点开猜。
os.remove(pdf_path)
  • 用完临时PDF自动删除,文件夹干干净净,不留下垃圾文件。

踩过的坑,全给撂这,别掉进去

  1. 电脑必须装Word:脚本靠本地Word运行,没装就跑不起来,WPS不兼容。
  2. 路径尽量别太复杂:中文、特殊符号尽量少用,避免莫名报错。
  3. 第一次运行先装库:pip install pywin32 PyMuPDF,两个都要装,缺一不可。
  4. 图片太糊:就是zoom太小,改成 2.0以上立马清晰。
  5. 打开报错:多半是Word没正常关掉,任务管理器结束 WINWORD.EXE再跑。

这脚本还能玩出花,别只会套模板

  • 只转封面第一页:加个判断,只处理page_num == 0,适合做封面、预览图。
  • 换图片格式:把后缀改成.jpg就行,PNG更清晰,个人推荐先用PNG。
  • 自定义清晰度:zoom 改成可输入,想高清就高清,想小体积就小体积。
  • 合并成长图:把所有页面拼成一张长图,发朋友圈、发群里更方便。
  • 批量加水印:转图前给PDF加水印,再生成图片,防盗用一步到位。

今儿个就练这个,别光看不动手

  • 找个带几个Word的文件夹,或者直接拖一个文件进来,跑一遍看看效果。
  • 报错先自查:Word 装没装、库装没装、路径对不对,别一上来就问为啥不行。

觉得有用、看着顺手,记得点个赞、转一圈,收个藏,支持下继续更!

下期整啥

  1. 图片转Excel自动识别表格?
  2. PDF 批量加水印?
  3. 邮件自动群发带附件?

评论区吼一声,下期咱就盘它!

回复“Word转图”直接拿完整代码,双击即可跑,别再瞎写磨洋工!


精选:
自动合并(汇总)几十张Excel表格
批量提取Word文件中的图片
秒拆分几万行Excel表格数据
批量提取PDF文件中的文字
批量提取PDF文件中的图片
批量Word转PDF
批量改名几百个文件
合并PDF别再傻傻充会员了
图片转PDF还要花钱?

最新文章

随机文章