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

文章目录

  • 专栏导读
  • 1. 将PDF转Word文档需求
  • 2. 模块安装
  • 3. 模块介绍
  • 4. 注意事项
  • 5. 完整代码实现
  • 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命令安装即可:

pip install pdf2docx

3. 模块介绍


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

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

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

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 文件路径即可:

import os
from pdf2docx import Converterdef 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/591771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GRU算法

前置知识:RNN,LSTM LSTM需要训练的参数很多,极消耗计算资源。GRU是一种LSTM的改进算法,参数更少,更容易训练。 它将忘记门和输入门合并成为一个单一的更新门,同时合并了数据单元状态和隐藏状态&#xff0…

CSS 缩减顶部动画

<template><!-- mouseenter"startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。mouseleave"stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 --><!-- 容器元素 --><div class"container" mou…

MATLAB指令

01--根据数学公式进行绘制 1.绘制连续函数 ①一元函数 t0:0.1:10; y3*t2; plot(t,y) ②一元二次函数 t0:0.1:10; yt.*t; plot(t,y) 注意此处应为点乘 ③一元3次 t0:0.1:10; yt.*t.*t; plot(t,y) ④y1/t t0:0.1:10; y1./t; plot(t,y) ⑤yexp(t) t0:0.1:10; yexp(2*t); p…

计算机基础面试题 |03.精选计算机基础面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Python爬虫---selenium基本使用

为什么使用selenium&#xff1f; 使用urllib.request.urlopen()模拟浏览器有时候获取不到数据,所以使用selenium (1) selenium是一个用于web应用程序测试的工具 (2) selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样 (3) 支持通过各种driver (FirfoxDri…

23种设计模式Python版

目录 创建型模式简单工厂模式工厂方法模式抽象工厂模式单例模式原型模式建造者模式 结构型模式适配器模式桥接模式组合模式装饰器模式外观模式享元模式代理模式 行为型模式职责链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模板方法模式访…

改进YOLO系列 | YOLOv5/v7 更换主干网络之 ResNet50/ResNet101

论文地址:https://arxiv.org/abs/1512.03385v1 更深层的神经网络更难以训练。我们提出了一个残差学习框架,以便于训练比以往使用的网络更深层的网络。我们明确地将层重构为学习相对于层输入的残差函数,而不是学习无参考的函数。我们提供了全面的实证证据,表明这些残差网络…

接口测试工具Postman接口测试图文教程

一、前言 在前后端分离开发时&#xff0c;后端工作人员完成系统接口开发后&#xff0c;需要与前端人员对接&#xff0c;测试调试接口&#xff0c;验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致&#xff0c;任何一方的进度跟不上&#xff0c;都无法及时完…

APP UI自动化测试常见面试题,或许有用呢~

1.Android APP 内存不足时&#xff0c;如何获得内存&#xff1f; 系统优先结束被挂起&#xff08;暂停&#xff09;的进程&#xff0c;释放内存。 2.APP 测试常见问题有哪些&#xff1f;原因有哪些&#xff1f; 常见的有 crash、ANR&#xff08;应用无响应、卡死&#xff09…

STM32G030F6P6读写flash失败问题(HAL)

STM32G030是F0系列的升级版&#xff0c;其在性能上比F0要好很多&#xff0c;具体G0参数如下&#xff1a; 最开始做项目选用的单片机是STM32F030F4P6&#xff0c;但是在后期使用中发现&#xff0c;我的FLASH&#xff08;16K&#xff09;不够用了&#xff0c;就选择了STM32G030F6…

【Matlab】LSTM长短期记忆神经网络时序预测算法(附代码)

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88688439 一&#xff0c;概述 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种常用的循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;结构&#xff0c;由于其对于…

ros2基础学习13 DDS 通信得学习

ROS2中最为重大的变化——DDS&#xff0c;我们在前边课程中学习的话题、服务、动作&#xff0c;他们底层通信的具体实现过程&#xff0c;都是靠DDS来完成的&#xff0c;它相当于是ROS机器人系统中的神经网络。 通信模型 DDS的核心是通信&#xff0c;能够实现通信的模型和软件框…

科技云报道:2024年六大科技趋势前瞻,最热门的技术都在这里了!

科技云报道原创。 物之生也&#xff0c;若骤若驰&#xff0c;无动而不变&#xff0c;无时而不移。 技术创新的步伐丝毫没有放缓的迹象&#xff0c;在这个日新月异的时代&#xff0c;科技创新在改变人们生活、推动社会进步方面扮演着关键的角色。2024年有望成为又一个开创性的…

高效管理文件夹:使用重命名进行文件夹名称大小写转换的技巧

在计算机管理中&#xff0c;文件夹名称的大小写规范是一个经常被忽视的细节。然而&#xff0c;文件夹名称的大小写有时可能会影响工作流程&#xff0c;例如在某些文件搜索或识别过程中。掌握文件夹名称大小写转换的技巧&#xff0c;可以更高效地管理文件夹。现在一起来看看云炫…

分布式定时任务Xxl_Job详细使用手册

看了很多网上的版本&#xff0c;思路描述的都不是很清晰&#xff0c;都只是几步操作就完成了&#xff0c;看效果&#xff0c;导致容易走入弯路&#xff08;不排除是自己理解能力把&#xff09;&#xff0c;最开始以为是把admin模块集成到项目&#xff0c;后来测试了会&#xff…

我敢说,这是你必会的网络端口知识

下午好&#xff0c;我的网工朋友&#xff0c;新年快乐&#xff01; 端口是计算机网络技术中非常基础的概念&#xff0c;不管是网络实施、运维、还是软件开发&#xff0c;总是能听到端口二字。 理论上来说&#xff0c;端口数最多可以有65535个。 端口概念在网络技术中&#x…

结构体的一些小技巧

有一天在写洛谷的一道题的时候&#xff0c;我想出来大概思路&#xff0c;但是有几步我想破头也无法实现。 后来看了题解&#xff0c;发现原来结构体可以这样使用。 比如&#xff0c;现在有一个结构体&#xff1a; struct person {char gender;int age, high, height; };它表…

DDoS 攻击并不是全部来自于PC组成的僵尸网络

DDoS&#xff0c;分布式拒绝服务攻击&#xff0c;是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击&#xff0c;或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。很多人会以为DDoS 攻击&#xff0c;全都是攻击者控制PC肉鸡发起的攻击…

柯桥专业会计学校之相关财税知识,2023年新版增值税税率表

一、增值税税率 一般纳税人增值税税率&#xff1a;13%&#xff0c;9%&#xff0c;6%&#xff0c;0%&#xff0c;都适用于哪些项目&#xff1f;我们具体来看&#xff1a;&#xff08;目前小规模纳税人3%征收率减按1%执行&#xff09; 二、扣除率 扣除率是指增值税计征中法定扣除…

【Bootstrap学习 day7】

Bootstrap按钮 按钮样式 使用.btn相关类实现 <button type"button" class"btn">基本按钮</button> <button type"button" class"btn btn-primary">主要按钮</button> <button type"button" cl…