Pdf转Word用Python轻松搞定!

开发 后端
大家在日常的工作学习过程中,都会遇到一个问题就是将pdf中的文本内容转化为word的形式,也就是从只读变成可读写的形式。面对这种情况,大家大都采用网上的工具,但是网上的工具良莠不齐,很难达到我们的需求。

 大家在日常的工作学习过程中,都会遇到一个问题就是将pdf中的文本内容转化为word的形式,也就是从只读变成可读写的形式。面对这种情况,大家大都采用网上的工具,但是网上的工具良莠不齐,很难达到我们的需求。

[[325524]]

今天,小编就带领大家利用python来实现如何将pdf的内容转化为word文档。同时我们还将提取pdf中的图片,保存到我们的指定文件夹内。

01.文字的提取

我们首先要做的是对于pdf中文本的提取,如下图所示:

 

Pdf中文字是只允许我们进行只读,但是无法进行更改,所以我们要做的就是提取pdf中的文字信息,然后将提取到的文字写入到word文件当中,让我们能够进行后续的改写。对于文字的提取,我们利用的是pdfminer函数库,其主要的函数如下图所示:

 

  • 程序首先利用get_content_from_pdf函数来返回pdf中提取到的数据;
  • 然后分别创建了PDFResourceManager对象来保存共享数据内容,PDFPageAggregator对象来将资源对象处理成我们需要的格式,而PDFPageInterpreter则是用来处理页面的内容;
  • 程序中page_index用来帮助我们设定需要提取哪几页的内容,对于我们需要提取的页面,通过创建的PDFPageInterpreter对象来对页面信息进行解释;
  • 最后通过PDFPageAggregator对象来对数据进行处理;

这里的layout中就包含了页面解析出来的各种对象。包括文本,图片等信息。但是小编发现,对于图片的提取,pdfminer的效果很不好,所以后面针对于图片的提取,小编采用的fitz库进行单独的处理,取得很好的图片提取效果。说了这么多,我们先来看一下对于文本的处理结果。

 

我们的pdf是一个两页的pdf文档,我们只让程序去提取第一页的文本,从上图可以看出,程序完整的提取出第一页的文本,没有任何的错误。

02.图片的提取

有了对于文字的处理,接下来我们就来看一下如何提取pdf中的图片,并将其保存到本地。对于图片的提取,程序如下图所示:

 

上述的程序中,我们利用fitz库来提取pdf文档中的对象,然后通过字符串匹配来判断对象是不是图片类型,如果不是的话,我们直接进行跳过即可。

如果判断对象是图片类型的话,我们边可以通过创建PixMap对象来提取图片,并保存到我们指定的路径下即可。结果如下图所示:

 

上图可以看出,我们正确的将图片进行了提取,从而达到了我们的图片提取的目的,而且小编也尝试过多个图片的提取,同样也是没有任何压力。可以在短短的几秒内完成pdf文档的所有图片的提取。

以上就是小编为大家带来的pdf转word的提取,我们经过讲解,不仅仅完成了对于pdf文档中文本的提取,而且还完成了对于图片的提取,从而大大的缓解我们工作的压力,提高了工作的效率,大家也赶快下载源码,应用起来吧。

责任编辑:华轩 来源: 菜鸟学Python
相关推荐

2023-12-18 08:24:09

LinuxPythonWord

2024-05-06 08:56:31

PythonHTML正则表达式

2018-06-28 15:58:04

PDF

2009-12-10 14:27:21

PHP处理Word转P

2020-12-07 16:20:53

Python 开发编程语言

2020-04-24 12:16:48

Python 图像分类实战

2021-05-11 07:27:30

Html页面Pdf

2021-01-08 05:26:31

ServerlessPython 预测

2022-09-16 08:04:25

阿里云权限网络

2020-11-03 10:23:46

Python 开发编程语言

2024-09-10 10:04:47

2017-05-11 15:01:43

Androidweb布局

2009-12-11 15:37:58

Linux日志处理

2010-03-15 12:50:19

Python文件夹创建

2024-06-19 09:21:08

2022-10-26 09:27:59

Python编程迭代器协议

2020-08-23 12:27:39

测试接口技巧

2009-10-23 17:51:51

Oracle用户密码

2010-09-17 14:04:14

JVM内存设置

2019-05-05 09:46:01

Python代码神经网络
点赞
收藏

51CTO技术栈公众号