python脚本——批量将word文件转换成多张图片

前提:有时候需要快速查看word文档的内容是否自己需要的,或者就是单纯需要将word文档转换成一张张图片。

思路:word文档直接生成图片比较蛮烦,可能会引起格式变化,就先将word文档转换成PDF,然后将PDF文档转换成图片。

语言:python 3

用法:点击运行后,弹出窗口选择文件夹,程序运行后会将该文件夹下所有word文档依次转换成PDF文档------PDF文档生成图片------删除PDF文档------继续处理下一个word文档。

如运行中报错,需要自行根据报错内容按照缺失的库

例如:

python 复制代码
#安装库
pip install pyautogui
#安装库
pip install  pillow

完整代码如下:

python 复制代码
#遍历目录及子文件夹中的word文件
import os
import glob
from tkinter import Tk
from tkinter.filedialog import askdirectory
from win32com.client import DispatchEx
from pdf2image import convert_from_path

# 打开选择目录的对话框
Tk().withdraw()  # 隐藏Tkinter根窗口
word_dir = askdirectory(title="选择Word文件所在目录")

# 遍历目录及子文件夹中的Word文件
word_files = []
for root, dirs, files in os.walk(word_dir):
    for file in files:
        if file.endswith(".docx") or file.endswith(".doc") or file.endswith(".dotx"):
            word_files.append(os.path.join(root, file))

# 创建Word应用程序对象
word_app = DispatchEx("Word.Application")

# 遍历Word文件进行转换
for word_file in word_files:
    print(f'转换中:{word_file}')
    
    # 转换为PDF并保存到Word所在目录
    pdf_file = os.path.splitext(word_file)[0] + ".pdf"
    doc = word_app.Documents.Open(word_file)
    doc.SaveAs(pdf_file, FileFormat=17)
    doc.Close()
    
    # 将PDF转换为图片
    images = convert_from_path(pdf_file)

    # 保存图片
    for i, image in enumerate(images):
        image_file = os.path.splitext(pdf_file)[0] + f"_page_{i+1}.jpg"  # 设置图片文件名
        image.save(image_file, "JPEG")
        print(f"保存图片:{image_file}")

    # 删除PDF文件
    os.remove(pdf_file)
    print(f"删除PDF文件:{pdf_file}")

# 关闭Word应用程序
word_app.Quit()
相关推荐
Metaphor6929 分钟前
使用 Python 在 Excel 中查找并高亮显示
python·信息可视化·excel
旦莫34 分钟前
AI测试Agent的两种架构路径:谁做主控?
人工智能·python·架构·自动化·ai测试
搬石头的马农39 分钟前
从零配置Claude自动修Bug:6步打造全自动开发流程
java·人工智能·python·bug·ai编程
暗夜猎手-大魔王44 分钟前
转载--Hermes Agent 04 | Agent 主循环:一次对话背后发生了什么
人工智能·python·算法
Wonderful U1 小时前
基于Python+Django的在线题库与智能阅卷系统:从痛点分析到完整实现
开发语言·python·django
码语智行1 小时前
拦截器、接口限流、过滤器、防重发/幂等性功能说明
开发语言·网络·python
孟华苏1 小时前
怎么快速排查内存泄漏问题
java·开发语言·python
noipp1 小时前
推荐题目:洛谷 P16510 [GKS 2015 #C] gRanks
java·c语言·开发语言·c++·python·算法
郑洁文1 小时前
基于Python的HTTP服务漏洞信息收集工具设计与实现
开发语言·python·http
川石课堂软件测试2 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos