Python实现批量将word转换成pdf

 更新时间:2023年08月25日 09:20:09   作者:谷雨之际  
这篇文章主要为大家详细介绍了如何利用Python实现批量将word文档转换成pdf文件,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下

语言:python 3

用法:点击运行后,弹出窗口选择word文档所在文件夹,程序运行后对该文件夹下所有的word文件全部转换成pdf文件,生成的pdf文件名字与原wrod文件相同。

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

例如:

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

完整代码如下:

import os
import glob
from tkinter import Tk
from tkinter.filedialog import ask directory
from win32com.client import DispatchEx
#打开选择目录的对话框
Tk().withdraw()#隐藏Tkinter根窗口
word_dir=askdirectory(title="选择Word文件所在目录")
#获取当前目录
current_dir=os.getcwd()
#遍历目录中的Word文件
#word_files=glob.glob(os.path.join(word_dir,"*.docx;*.doc;*.dotx"))
word_files=[]
forfileinos.listdir(word_dir):
iffile.endswith(".docx")orfile.endswith(".doc")orfile.endswith(".dotx"):
word_files.append(os.path.join(word_dir,file))
#将Word文件转换为PDF并保存到当前目录
pdf_files=[]
#创建Word应用程序对象
word_app=DispatchEx("Word.Application")
forword_fileinword_files:
print('{}查找到')
pdf_file=os.path.join(word_dir,os.path.splitext(os.path.basename(word_file))[0]+".pdf")
doc=word_app.Documents.Open(word_file)
doc.SaveAs(pdf_file,FileFormat=17)
doc.Close()
pdf_files.append(pdf_file)
print(f'转换完成:{word_file}')
#关闭Word应用程序
word_app.Quit()

知识补充

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

所以除了批量将word文档转换成pdf文件,还为大家整理了Python批量实现将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()

到此这篇关于Python实现批量将word转换成pdf的文章就介绍到这了,更多相关Python word转pdf内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用matplotlib实现基础绘图功能示例

    Python使用matplotlib实现基础绘图功能示例

    这篇文章主要介绍了Python使用matplotlib实现基础绘图功能,结合实例形式分析了Python基于matplotlib实现正弦、余弦图形及多轴图的相关绘制操作技巧,需要的朋友可以参考下
    2018-07-07
  • 在Pycharm中修改文件默认打开方式的方法

    在Pycharm中修改文件默认打开方式的方法

    今天小编就为大家分享一篇在Pycharm中修改文件默认打开方式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python入门之字典的使用教程

    Python入门之字典的使用教程

    Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文将为大家详细讲讲字典的使用教程,需要的可以参考一下
    2022-09-09
  • Python collections中的双向队列deque简单介绍详解

    Python collections中的双向队列deque简单介绍详解

    这篇文章主要介绍了Python collections中的双向队列deque简单介绍详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 解决Python设置函数调用超时,进程卡住的问题

    解决Python设置函数调用超时,进程卡住的问题

    今天小编就为大家分享一篇解决Python设置函数调用超时,进程卡住的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • pymongo为mongodb数据库添加索引的方法

    pymongo为mongodb数据库添加索引的方法

    这篇文章主要介绍了pymongo为mongodb数据库添加索引的方法,涉及Python操作mongodb数据库的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • Python调用DeepSeek API实现对本地数据库的AI管理

    Python调用DeepSeek API实现对本地数据库的AI管理

    这篇文章主要为大家详细介绍了Python如何基于DeepSeek模型实现对本地数据库的AI管理,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • 如何用python GUI(tkinter)写一个闹铃小程序(思路详解)

    如何用python GUI(tkinter)写一个闹铃小程序(思路详解)

    这篇文章主要介绍了用python GUI(tkinter)写一个闹铃小程序思路详解,涉及到tkinter一些函数控件,数据的类的封装,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • python画图时给图中的点加标签和plt.text的使用

    python画图时给图中的点加标签和plt.text的使用

    这篇文章主要介绍了python画图时给图中的点加标签和plt.text的使用,利用matplotlib模块画各城市2019-nCoV疫情确诊人数和节前流入人口数的图的时候遇到了要给图中的点加上标签示意,需要的朋友可以参考一下
    2022-03-03
  • 详解Django中的权限和组以及消息

    详解Django中的权限和组以及消息

    这篇文章主要介绍了详解Django中的权限和组以及消息,在Python百花齐放的web框架中,Django是人气最高的一个,需要的朋友可以参考下
    2015-07-07

最新评论