python基于pdfminer库提取pdf文字代码实例


Posted in Python onAugust 15, 2019

安装pdfminer 库

windows 下安装pdfminer3k

pip install pdfminer3k

Liunx 下安装pdfminer

pip install pdfminer

代码

from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBoxHorizontal
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed, PDFResourceManager, PDFPageInterpreter
def pdfParse(path):
"""
pdf文字提取
:param path:文件路径
:return: 每页结果列表
"""
fp = open(path, 'rb') # 以二进制读模式打开
# 用文件对象来创建一个pdf文档分析器
praser = PDFParser(fp)
# 创建一个PDF文档
doc = PDFDocument()
# 连接分析器 与文档对象
praser.set_document(doc)
doc.set_parser(praser)
# 提供初始化密码
# 如果没有密码 就创建一个空的字符串
doc.initialize()
# 检测文档是否提供txt转换,不提供就忽略
if not doc.is_extractable:
 raise PDFTextExtractionNotAllowed
else:
 # 创建PDf 资源管理器 来管理共享资源
 rsrcmgr = PDFResourceManager()
 # 创建一个PDF设备对象
 laparams = LAParams()
 device = PDFPageAggregator(rsrcmgr, laparams=laparams)
 # 创建一个PDF解释器对象
 interpreter = PDFPageInterpreter(rsrcmgr, device)
 #每页文字内容
 results = []
 # 循环遍历列表,每次处理一个page的内容
 for page in doc.get_pages(): # doc.get_pages() 获取page列表
  interpreter.process_page(page)
  # 接受该页面的LTPage对象
  layout = device.get_result()
  # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要获取文本就获得对象的text属性,
  for x in layout:
   if isinstance(x, LTTextBoxHorizontal):
    results.append(x.get_text())
 return results

该库是根据 迭代pdf每一页 进行文字提取, 也可以识别判断页码的功能

另外还有一个pypdf2 库也可以识别但是感觉不如这个准确

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
python和shell获取文本内容的方法
Jun 05 Python
python实现飞机大战微信小游戏
Mar 21 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
详解【python】str与json类型转换
Apr 29 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
django foreignkey(外键)的实现
Jul 29 Python
python opencv调用笔记本摄像头
Aug 28 Python
TensorFlow 多元函数的极值实例
Feb 10 Python
Python3爬虫里关于代理的设置总结
Jul 30 Python
如何更换python默认编辑器的背景色
Aug 10 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 #Python
django项目登录中使用图片验证码的实现方法
Aug 15 #Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 #Python
解析python的局部变量和全局变量
Aug 15 #Python
python实现的自动发送消息功能详解
Aug 15 #Python
python调用支付宝支付接口流程
Aug 15 #Python
Python使用字典实现的简单记事本功能示例
Aug 15 #Python
You might like
晶体管来复再生式二管收音机
2021/03/02 无线电
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
php显示页码分页类的封装
2017/06/08 PHP
jQuery的链式调用浅析
2010/12/03 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python SQLite3简介
2018/02/22 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
python从Oracle读取数据生成图表
2020/10/14 Python
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
新浪网技术部笔试题
2016/08/26 面试题
毕业生自荐书模版
2014/01/04 职场文书
校园创业策划书
2014/01/14 职场文书
汽修专业自荐信
2014/07/07 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
奖学金个人总结
2015/03/04 职场文书
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库