网站首页 > 精选文章 正文
从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文件)
猜你喜欢
- 2025-05-26 一听就懂:用Python做一个超简单的小游戏
- 2025-05-26 基于深度学习OpenCV与python进行字符识别
- 2025-05-26 仅需 15 行 Python 代码,即可将视频文件转录为文本稿件
- 2025-05-26 老外最喜欢的美食圣地 是不是你家?python 分析20w数据 「附代码」
- 2025-05-26 Python 中的可变和不可变:面向初学者的完整指南
- 2025-05-26 这一篇就够了!带你全面了解Python的异常处理机制
- 2025-05-26 python3 matplotlib下增加新字体并使用
- 2025-05-26 Python,pyttsx3,实现语音合成,实现语音朗读,文字转语音
- 2025-05-26 Markdown + 文档管理 + 静态网页生成,集大成的 Markdown 应用:MWeb
- 2025-05-26 Python提取图片中的文字信息,腾讯内部技术,一行代码搞定
- 05-27vue3安装在线构建ckeditor5教程
- 05-27使用vue3和go搭建网站(附源码)
- 05-27「干货」Vue+Element前端导入导出Excel
- 05-27好的项目,万物皆可打包,我将Vue项目打包成客户端(模拟钉钉)
- 05-27vue下载excel文件方法
- 05-27vue组件的注册
- 05-27我常用的几个 VueUse 最佳组合,推荐给你们
- 05-27Vue开发环境搭建
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)