• 一文带你实现从PDF到Word文件的相互转换


    一文带你实现从PDF到Word文件的相互转换

    01. 前期准备

    模块安装

    pip install pdf2docx

    or使用国内镜像源进行安装(清华的镜像源)

    pip install pdf2docx -i https://pypi.tuna.tsinghua.edu.cn/simple

    02. 模块介绍

    • pdf2docx是一个Python模块,可以用来将PDF文件转换成Word文档。它是基于Python的pdfminer和python-docx库开发的,可以在Windows、Linux和Mac系统上运行。

    • pdf2docx模块可以直接从PDF文件中提取文本和图片,并将其转换成可编辑的Word文档。它可以处理包含复杂布局和格式的PDF文件,并保留原始的字体、颜色、大小和格式等属性。

    使用pdf2docx模块非常简单,只需要安装pdf2docx库并导入相应的函数即可。下面是一个简单的示例代码:

    import pdf2docx
    
    # 将PDF文件转换成Word文档
    pdf2docx.parse('test.pdf', 'test.docx')
    
    • 1
    • 2
    • 3
    • 4

    上述代码中首先导入pdf2docx模块,然后使用parse函数将指定的PDF文件转换成相应的Word文档。

    pdf2docx模块还提供了一些其他的函数和选项,可以根据需要进行配置和使用。以下是一些常用的函数和选项:

    • parse:将PDF文件转换成Word文档
    • parse_pages:将PDF文件中的一页转换成Word文档
    • parse_images:将PDF文件中的图片提取出来
    • parse_text:将PDF文件中的文本提取出来
    • parse_layout:将PDF文件中的页面布局提取出来

    pdf2docx模块还支持一些高级选项,如自定义字体、颜色、大小、格式等,可以根据需要进行配置和使用。

    总结

    pdf2docx是一个非常实用的Python模块,可以将PDF文件转换成可编辑的Word文档。它基于pdfminer和python-docx库开发,可以处理包含复杂布局和格式的PDF文件,并保留原始的字体、颜色、大小和格式等属性。使用pdf2docx模块非常简单,只需要安装pdf2docx库并导入相应的函数即可。

    03. 实例操作

    3.1 单个PDF转word

    from pdf2docx import Converter
    #pdf转word
    
    a = Converter(r'D:\Pycharm\1.pdf')  #pdf的路径
    #输出的word的路径加文件名,不用自己创建,会自动创建,可将pdf路径直接复制下来,将后缀pdf改为docx就可以了。
    a.convert(r'D:\Pycharm\1.docx')
    
    a.close() #一定要有,释放内存用的
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.2 多个pdf转word

    import os
    from pdf2docx import Converter
    
    def pdf_docx():
        # 获取当前工作目录
        file_path = r'E:\python'
        # 遍历所有文件
        for file in os.listdir(file_path):
            # 获取文件后缀
            suff_name = os.path.splitext(file)[1]
            # 过滤非pdf格式文件
            if suff_name != '.pdf':
                continue
            # 获取文件名称
            file_name = os.path.splitext(file)[0]
            # pdf文件名称
            pdf_name = file_path + '\\' + file
            # 要转换的docx文件名称
            docx_name = file_path + '\\' + file_name + '.docx'
            # 加载pdf文档
            cv = Converter(pdf_name)
            cv.convert(docx_name)
            cv.close()
    
            
    if __name__ == '__main__':
        pdf_docx()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    上述代码实现了遍历一个文件夹下的所有文件,并且将文件名后缀为“.pdf”的文件转换为“.docx的文件,即”word文件 ,该方法适合多个PDF文件的转换,从而实现批量将PDF转Word文档

    实现了PDF转Word:

    在这里插入图片描述

    打开后的效果:

    在这里插入图片描述

    模块的安装(使用镜像下载真的快!!!)

    pip install docx2pdf -i https://pypi.tuna.tsinghua.edu.cn/simple

    3.3 单个Word转PDF(不建议使用代码,手动更快!!!)

    from docx2pdf import convert
    # 第一个为word路径,第二个为生成的pdf路径,不用自己创建,会自动创建,可将docx路径直接复制下来,将后缀docx改为pdf就可以了
    convert("D:/Pycharm/output.docx",
            "D:/Pycharm/output.pdf") 
    
    • 1
    • 2
    • 3
    • 4

    3.4 多个Word转多个PDF

    from docx2pdf import convert
    import os
    
    # 文件位置
    path = 'E:/python/test/'
    # 定义空list,存放文件夹中的文件名
    files = []
    for file in os.listdir(path):
        if file.endswith(".docx"):
            files.append(path+file)
    
    for file in files:
       convert(file,file.split('.')[0]+'.pdf') #创建生成的pdf文件和文件名的文件名
       print(file+'转换成功')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    结果展示

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    C#实现数据导出任一Word图表的通用呈现方法及一些体会
    计算机毕业设计Java资源循环利用(源码+系统+mysql数据库+lw文档)
    竞赛trick-AWP对抗训练的即插即用实现
    flutter sdk提供完整页面的ui
    基于Web的skc分类管理系统
    荣誉丨“Qspace|轻空间”荣获“盐城市零碳空间工程技术研究中心”称号
    leetcode 205. 同构字符串
    python之字典的用法
    初始Go--基本数据结构
    2021年IB各科7分率
  • 原文地址:https://blog.csdn.net/H931053/article/details/133204703