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

liftword5个月前 (12-26)技术文章58

从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文件)

相关文章

「oeasy」python0020换行字符_feed_line_lf_反斜杠n_B语言_安徒生

换行字符回忆上次内容struct包可以让我们使用封包格式把数字封包到字节里pack函数负责封包unpack函数负责解封我们通过封到不同的字节状态遍历了一次ascii码还是有那片黑色的区域好像是一片黑暗...

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

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

换行和回车究竟有什么区别 换行和回车是一个键吗

"空白字符"一章有介绍打字机换行和回车的差异,不同操作系统的实现也不太一样。操作系统"换行"的不同形态Mac ClassicMac OS 9及更早版本中,使用的是\r作...

python入门到精通(第九节while循环) #python基础

while函数用于循环,条件也要用冒号结尾。num+=i等于num=num+i,表示每次自身增加i。i+=1每次增加1,作为结束循环的条件。因为i<=10时进行循环,当i...

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

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

第12天 | 12天搞定Python,word和pdf

其实,Python除了对excel的支持很nice之外,对word、ppt和pdf也不赖的,上一篇《第12天 | 12天搞定Python,让excel飞起来 》说了excel方面的内容,这一篇补上Py...