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

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

从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(15)——Python中的输出函数print()

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

Python循环全攻略:从基础到高级技巧,掌握自动化编程的艺术

Python中的循环是实现重复操作的一种方法,通过本文的学习,您将获益如下:理解循环的基本概念:循环是执行重复任务的一种方式。掌握for循环的使用:遍历列表、字典等数据结构。掌握while循环的使用:...

Python中常用的8种字符串操作方法

一、拼接字符串使用“+”可以对多个字符串进行拼接语法格式: str1 + str2>>> str1 = "aaa" >>> str2 = "...

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

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

Python怎么输入字符串 python怎么输入字符串和整数在同一行

首先,要显示字符串,直接 print(字符串) 就可以显示了。字符串可以用单引号或者双引号,python中没有字符类型。多个字符串直接连着写,就表示连接,字符串内部的转义和C类似。换行\n可以转义,也...