100天精通Python(实用脚本篇)——第111天:批量将PDF转Word文档(附上脚本代码)

文章目录

  • 专栏导读
  • [1. 将PDF转Word文档需求](#1. 将PDF转Word文档需求)
  • [2. 模块安装](#2. 模块安装)
  • [3. 模块介绍](#3. 模块介绍)
  • [4. 注意事项](#4. 注意事项)
  • [5. 完整代码实现](#5. 完整代码实现)
  • [6. 运行结果](#6. 运行结果)
  • 书籍推荐

专栏导读

🔥🔥本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点 :订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)
  • 专栏福利 :简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

1. 将PDF转Word文档需求

最近想将一些PDF文件转换为Word文档,第一时间想到W某S系列都有Pdf文档转Word文档的功能,结果还要会员???这里针对不想付费的情况所设计的一套方案。

2. 模块安装

这里主要用到的第三方模块是pdf2docx,用下面的pip命令安装即可:

python 复制代码
pip install pdf2docx

3. 模块介绍

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

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

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

python 复制代码
import pdf2docx

# 将PDF文件转换成Word文档
pdf2docx.parse('example.pdf', 'example.docx')

在上述代码中,我们首先导入pdf2docx模块,然后使用parse函数将PDF文件example.pdf转换成Word文档example.docx。

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库并导入相应的函数即可。

4. 注意事项

1、PDF文档的后缀务必是".pdf",否则转换不成功

2、大部分的PDF文档都可用这个程序来转换,如果是图片生成的Pdf文档,则转换不成功,原因是要将图片里的文字转换成文档涉及到人工智能的知识,它已超出这个程序的能力范围。但也不用慌,遇到此情况,可以用QQ的文件助手来帮忙,此处不赘述。

5. 完整代码实现

下方代码只需要修改file_path 文件路径即可:

python 复制代码
import os
from pdf2docx import Converter


def pdf_docx():
    # 获取当前工作目录
    file_path = r'C:\Users\test'
    # 遍历所有文件
    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()

6. 运行结果

控制台实现打印转换的页码进程:

实现了PDF转Word:

打开Word文档看看效果:

书籍推荐

本书是一本实用的数据清洗指南。从广义上说,数据清洗被定义为准备数据进行分析所需的所有任务。它通常由在数据清洗过程中完成的任务组成,即导入数据、以诊断方式查看数据、识别异常值和意外值、估算和填充缺失值、规整数据等。本书每个秘笈都会引导读者对原始数据执行特定的数据清洗任务。

目前市面上已经有许多非常好的Pandas书籍,但是本书有自己的特色,我们将重点放在实战操作和原理解释上。

由于Pandas还相对较新,因此我们所学到的有关清洗数据的经验是受使用其他工具的经验影响的。大约在2012年,作者开始使用Python和R适应其时的工作需要,在21世纪初主要使用的是C#和T-SQL,在20世纪90年代主要使用的是SAS和Stata,在20世纪80年代主要使用的是FORTRAN和Pascal。本书的大多数读者可能都有使用各种数据清洗和分析工具的经验。

无论你喜欢使用什么工具,其重要性都比不上数据准备任务和数据属性。如果让作者撰写《SAS数据清洗秘笈》或《R数据清洗秘笈》,那么讨论的主题也几乎是一样的。本书只是采用与Python/Pandas相关的方法来解决分析师数十年来面临的相同数据清洗挑战。

在讨论如何使用Python生态系统中的工具(Pandas、NumPy、Matplotlib和SciPy等)进行处理之前,作者会在每章的开头介绍如何思考特定的数据清洗任务。在每个秘笈中,作者会介绍它对于数据发现的含义。

本书尝试将工具和目的连接起来。例如,我们阐释偏度和峰度之类的概念,这对于处理离群值是非常重要的,同时我们又介绍箱形图等可视化工具,强化读者对于偏度和峰度等概念的理解。

本书共包含10章,具体内容如下:

  • 第1章"将表格数据导入Pandas中",探讨将CSV文件、Excel文件、关系数据库表、SPSS、Stata和SAS文件以及R文件等加载到Pandas DataFrame中的工具。

  • 第2章"将HTML和JSON导入Pandas中",讨论读取和规范化JSON数据以及从网页抓取数据的技术。

  • 第3章"衡量数据好坏",介绍在DataFrame中定位、选择列和行以及生成摘要统计信息的常用技术。

  • 第4章"识别缺失值和离群值",探讨如何采用不同的策略来识别整个DataFrame和选定组中的缺失值和离群值。

  • 第5章"使用可视化方法识别意外值",演示如何使用Matplotlib和Seaborn工具来可视化关键变量的分布方式,常见的可视化方法包括直方图、箱形图、散点图、折线图和小提琴图等。

  • 第6章"使用Series操作清洗和探索数据",讨论如何基于一个或多个Series的值,使用标量、算术运算和条件语句更新Pandas系列。

  • 第7章"聚合时修复混乱数据",演示按分组汇总数据的多种方法,并讨论多种聚合方法之间的区别。

  • 第8章"组合DataFrame",探讨用于连接和合并数据的不同策略,以及合并数据时可能遇到的常见问题。

  • 第9章"规整和重塑数据",详细介绍若干种用于删除重复数据、堆叠、合并和旋转的策略。

  • 第10章"用户定义的函数和类",探讨如何通过函数和类的形式将前9章中的许多技术转变为可重用的代码。

京东链接:https://item.jd.com/13324395.html

相关推荐
无脑敲代码,bug漫天飞2 分钟前
COR 损失函数
人工智能·机器学习
幽兰的天空6 分钟前
Python 中的模式匹配:深入了解 match 语句
开发语言·python
HPC_fac130520678161 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
网易独家音乐人Mike Zhou3 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书4 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
小陈phd4 小时前
OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
人工智能·opencv·计算机视觉
Guofu_Liao5 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
小二·5 小时前
java基础面试题笔记(基础篇)
java·笔记·python
小喵要摸鱼7 小时前
Python 神经网络项目常用语法
python
一念之坤8 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python