当前位置: 首页 > news >正文

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

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

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

语言:python 3

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

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

例如:

#安装库
pip install pyautogui
#安装库
pip install  pillow

完整代码如下:

#遍历目录及子文件夹中的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()

http://www.lryc.cn/news/135787.html

相关文章:

  • FairyGUI编辑器的弹窗操作【插件】
  • Elasticsearch(十三)搜索---搜索匹配功能④--Constant Score查询、Function Score查询
  • 直播系统源码协议探索篇(二):网络套接字协议WebSocket
  • Windows 11 下使用 VMWare Workstation 17 Pro 新建 CentOS Stream 9 64位 虚拟机 并配置网络
  • 生信豆芽菜-缺氧评分的计算
  • C++:通过find/substr分割字符串
  • sql developer 连不上oracle数据库 报错 ORA-01031: insufficient privileges
  • LeetCode 面试题 01.07. 旋转矩阵
  • vue3 pdf、word等文件下载
  • 带你了解SpringBoot---开启Durid 监控
  • matlab 点云精配准(3)——Trimmed ICP
  • nodejs开发环境搭建示例
  • 网络安全(大厂)面试题
  • GC面临的困境,JVM是如何解决跨代引用的?
  • Qt下拉菜单
  • 考研C语言进阶题库——更新41-50题
  • JVM——JVM 垃圾回收
  • 浅析阿里云灵积(平台)模型服务
  • 使用 PyTorch 进行高效图像分割:第 1 部分
  • vellum (Discovering Houdini VellumⅡ柔体系统)学习笔记
  • 最优的家电设备交互方式是什么?详解家电设备交互的演进之旅
  • 前端面试总结心得
  • STL---list
  • python判断ip所属地区 python 判断ip 网段
  • 大数据分析案例-基于LightGBM算法构建糖尿病确诊预测模型
  • Mysql查询重复数据常用方法
  • Go framework-GORM
  • FirmAE 工具安装(解决克隆失败 网络问题解决)
  • css实现九宫格布局
  • linux下系统问题排查基本套路