办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!

Posted Python 集中营

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!相关的知识,希望对你有一定的参考价值。

看了四五个PDF文件对象相关的插件库,比如:pdfminer.six、PyPDF2、pikepdf、pdfplumber、PyMuPDF之类的有很多,最后发现pdf2docx比较简单,只需要几行代码便可以实现。本着使用最简单的方法来解决实际问题的至高境界,我们就使用它来演示。

首先,通过pip的方式安装再导入模块。

pip install pdf2docx  # 安装 pdf2docx

# 导入文件转换对象Converter
from pdf2docx import Converter

分别定义好word与pdf文件的存储路径,再将已经存在pdf文件转换成python的插件对象。

# 定义PDF文件路径
pdf_file_path = \'Python 集中营.pdf\'

# 定义WORD文件路径
docx_file_path = \'Python 集中营.docx\'

# 初始化PDF转换对象
converter = Converter(pdf_file_path)

将初始化的pdf对象转换成word文档存储。

\'\'\'
实现PDF转换成WORD
convert(path, start=0, end=None)
path: word文档路径
start: 开始页数,0 从第一页开始
end: 结束页数,None 无限制
pages: 指定哪几页需要转换
\'\'\'
# 连续页面进行转换
converter.convert(docx_file_path, start=0, end=None)

# 指定页面进行转换
# converter.convert(docx_file_path, pages=[0,2,4,6,8,10])

# 关闭转换对象
converter.close()

【往期精彩】

● 办公自动化:轻松提取PDF页面数据,并生成Excel文件(代码实战)!

● sched 模块中巨好用的轻量级定时任务神器scheduler!

● 不用再使用命令行打包成exe,有人写出了UI应用,可视化UI界面对python程序进行打包的方法!

● 发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!

● 大厂校招白菜打包价40W+,可高兴坏了房东大妈...

● 这么多的内置函数能记住吗?对python的68个内置函数分类总结!

● 必须要会的文件操作对象File,python文件读写操作利器!

● 你不知道的CS模式的进程管理工具,状态监测、项目启停一目了然!

● 如何将一个python应用以docker镜像的方式来运行?

● python-celery专注于实现分布式异步任务处理、任务调度的插件!

● python远程服务操作工具:fabric,远程命令、本地命令、服务器操作利器!

● 办公自动化:Python-win32com自动将word文档转换成pdf格式!

● Git LFS 3.0.0 发布,对大文件进行版本控制的 Git 扩展

● pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!

办公自动化:Python-win32com自动将word文档转换成pdf格式!

在平常的办公中需要将word文件调整为pdf的格式,然后没有更好可用的免费软件可以使用,python为我们提供了win32com的插件可以轻松的将word转换为pdf的格式。

【阅读全文】

第三方库

# word文档处理器
from win32com.client import Dispatch

# 文件目录遍历器
from os import walk

word文档转换pdf

def wordToPdf(word_file):
    \'\'\'
    将word文件转换成pdf文件
    :param word_file: word文件
    :return:
    \'\'\'
    # 获取word格式处理对象
    word = Dispatch(\'Word.Application\')
    # 以Doc对象打开文件
    doc_ = word.Documents.Open(word_file)
    # 另存为pdf文件
    doc_.SaveAs(word_file.replace(".docx", ".pdf"), FileFormat=17)
    # 关闭doc对象
    doc_.Close()
    # 退出word对象
    word.Quit()

支持多文件处理

def run(doc_path):
    \'\'\'
    主要逻辑处理、支持批量多文件处理
    :param word_file: word文件
    :return:
    \'\'\'
    # 遍历文件夹下面的所有文件
    for root, dirs, filenames in walk(doc_path):
        # 遍历当前文件名称、并校验是否是word文档
        for file in filenames:
            if file.endswith(".doc") or file.endswith(".docx"):
                # 如果当前文件是word文档则调用word转换函数
                wordToPdf(str(root + "\\\\" + file))

入口函数

if __name__ == "__main__":
    \'\'\'
    执行主要逻辑处理函数
    \'\'\'
    run(\'/usr/load/doc_files\')

【往期精彩】

● pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!

● Git LFS 3.0.0 发布,对大文件进行版本控制的 Git 扩展

● python有序序列的字典序列推导式运用技巧!

● Django 4.0 alpha 1 发布

● python经典有序序列的list列表推导式实践运用

● python常用转义字符串总结:各种字符转义的不同、如何取消转义字符效果?

● 推荐一款python、excel集成的数据分析工具PyXLL-Jupyter!

● 如何使用python完成对WebService服务的调用?suds-py3插件安利一下!

● 介绍一款优秀的IDE Grid Studio,Excel深度集成python,直接编写并执行python代码块!

● python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!

● 十大开源软件基金会你知道哪些?

● python-Coverage 代码覆盖率统计工具,生成html代码报告

● 磨刀不误砍柴工,PyCharm开发工具的常规配置,充分提高开发效率!

● python-openpyxl Excel的单元格样式设置,包括字体、样式、宽高等等!

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!

以上是关于办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!的主要内容,如果未能解决你的问题,请参考以下文章

怎样把WORD EXCEL这样的办公软件的文档格式转换成PDF

python自动化-pdf文档操作

将PDF文件转换为word文档格式

怎样将pdf的文件转成word文件

在不使用 Office 自动化的情况下将办公文档转换为 PDF 的开源解决方案 [关闭]

Python实现办公自动化读书笔记——自动化处理Word文档