python应用:如何用python提取pdf文件中的文字

liftword3个月前 (12-26)技术文章39

从pdf中提取文字,相信很多人都干过这事,怎么在python中实现呢,今天带大家看看。

第一步导入库

import PyPDF2

第二步导入pdf文件

pdf_file =open('dataset/laban.1027.pdf', 'rb')

第三步读取pdf并检查加密情况

read_pdf = PyPDF2.PdfFileReader(pdf_file)
read_pdf.getIsEncrypted()
read_pdf.numPages

在上面的代码中我首先建立了一个pdf阅读器read_pdf,然后通过.getIsEncrypted方法检查这个pdf的加密情况。然后我们再看了看我们这个pdf到底有几页,结果如下:

我们得到的结果是Flase,页码数为1,说明我们的pdf是没有加密的,要注意如果是加密的pdf我们在之后的提取文字过程可能会报错。

第4步提取文字

提取文字的代码如下:

page1 = read_pdf.getPage(0)
page1.extractText()

解释一下上面的代码,首先还是要指定提取的pdf的页码,我这儿指定的是0也就是第一页,运行以上代码会得到如下结果:


可以看到,文字虽然被提取出来了,但是文字并没有自动换行,相应的换行符号都被“\n”替代了,此时我们需要做的就是将提取出来的原始文本正常换行,很简单直接用处理字符串的.split方法即可。代码如下:

page1.extractText().split('\n')

运行代码得到结果:

可以看到,现在文字都进行了正常换行,但是因为原始pdf的排版问题,这个表现并不是很好,大家可以换一个pdf看一看效果。

结语

今天给大家介绍了用python从pdf文件中提取文字的方法,这个只是提取方法的一小部分演示,还有很多库都可以进行pdf文字的提取,之后再给大家写。感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python的,加油。

(数据链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据,包括本文的pdf文件)

相关文章

如何在python字符串输出中带换行符

之前写了一个采集代码,采集到的20条内容需要邮件发送出去。但是不知道为什么当时就是解决不了换行符的问题,因为解决不了的话发出去的邮件就是一大坨,没有可读性。今天重新学习的时候突然间就觉得这个东西很简单...

python代码是如何执行的? python代码运行按哪个键

解释运行程序 回忆上次内容py 文件的程序是按照顺序一行行挨排解释执行的我们可以 python3 -m pdb hello.py 来对程序调试调试的目的是去除 bug别害怕 bugbug 会有提示我们...

跟我学Python(15)——Python中的输出函数print()

上篇文章小编已经给大家介绍了Pycharm中字体与解析器如何配置,经过了十几篇文章的Python和开发工具的基础介绍后,后续的内容小编就要给大家分享Python中的语法规则了,今天就先从最基础的输出...

年近半百自学python之输出函数print

#print()函数是python自带的输出函数,我们先来了解一下它的功能!1.print()函数一个可以直接使用的函数,可以将你想展示的东西在IDLE或标准的控制台上显示出来。2.print()函数...

交互式环境(Python Shell)编写Python代码

(1)打开Python的交互式环境。在Windows中使用Win+R键打开Dos命令控制台输入Python 3进入,Linux和Mac打开终端输入Python 3进入,打开成功之后可以看到如下所示的提...