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()
相关推荐
aiguangyuan40 分钟前
使用LSTM进行情感分类:原理与实现剖析
人工智能·python·nlp
小小张说故事1 小时前
BeautifulSoup:Python网页解析的优雅利器
后端·爬虫·python
luoluoal1 小时前
基于python的医疗领域用户问答的意图识别算法研究(源码+文档)
python
Shi_haoliu1 小时前
python安装操作流程-FastAPI + PostgreSQL简单流程
python·postgresql·fastapi
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter
小宋10211 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
一晌小贪欢2 小时前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
躺平大鹅2 小时前
5个实用Python小脚本,新手也能轻松实现(附完整代码)
python
yukai080082 小时前
【最后203篇系列】039 JWT使用
python