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()
相关推荐
BBB努力学习程序设计27 分钟前
Python错误处理艺术:从崩溃到优雅恢复的蜕变
python·pycharm
我叫黑大帅32 分钟前
什么叫可迭代对象?为什么要用它?
前端·后端·python
Dillon Dong43 分钟前
Django + uWSGI 部署至 Ubuntu 完整指南
python·ubuntu·django
k***82511 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
new_dev1 小时前
Python网络爬虫从入门到实战
爬虫·python·媒体
q***01652 小时前
Python爬虫完整代码拿走不谢
开发语言·爬虫·python
今天没有盐2 小时前
Python算法实战:从滑动窗口到数学可视化
python·pycharm·编程语言
Learn Beyond Limits2 小时前
Data Preprocessing|数据预处理
大数据·人工智能·python·ai·数据挖掘·数据处理
lucky_dog2 小时前
python——课堂笔记😻
python
西部秋虫3 小时前
YOLO 训练车牌定位模型 + OpenCV C++ 部署完整步骤
c++·python·yolo·车牌识别