Python2.7读取PDF文件的方法示例


Posted in Python onJuly 13, 2017

本文实例讲述了Python2.7读取PDF文件的方法。分享给大家供大家参考,具体如下:

这篇文章示例代码采用的Python版本是2.7,需要下载的插件是PDFMiner,下载地址是http://www.unixuser.org/~euske/python/pdfminer/,地址里有安装方法,我就不再细说了,需要说明的是Python2只能使用PDFMiner,Python3不能使用,Python3可以使用PDFMiner3K,下载地址为https://pypi.python.org/pypi/pdfminer3k/。两种插件使用上大体相似,这里我以Python2为例,使用PDFMiner插件。代码如下:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from pdfminer.layout import LAParams
from pdfminer.converter import PDFPageAggregator
#获取文档对象,你把algorithm.pdf换成你自己的文件名即可。
fp=open("algorithm.pdf","rb")
#创建一个与文档相关联的解释器
parser=PDFParser(fp)
#PDF文档对象
doc=PDFDocument(parser)
#链接解释器和文档对象
parser.set_document(doc)
#doc.set_paeser(parser)
#初始化文档
#doc.initialize("")
#创建PDF资源管理器
resource=PDFResourceManager()
#参数分析器
laparam=LAParams()
#创建一个聚合器
device=PDFPageAggregator(resource,laparams=laparam)
#创建PDF页面解释器
interpreter=PDFPageInterpreter(resource,device)
#使用文档对象得到页面集合
for page in PDFPage.create_pages(doc):
  #使用页面解释器来读取
  interpreter.process_page(page)
  #使用聚合器来获取内容
  layout=device.get_result()
  for out in layout:
    if hasattr(out, "get_text"):
      print out.get_text()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
跟老齐学Python之??碌某?? target=
Sep 12 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
python单例模式的多种实现方法
Jul 26 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
如何利用Python识别图片中的文字
May 31 Python
python实现学生成绩测评系统
Jun 22 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 #Python
python3 模拟登录v2ex实例讲解
Jul 13 #Python
python计算auc指标实例
Jul 13 #Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 #Python
Python实现统计代码行的方法分析
Jul 12 #Python
Python实现导出数据生成excel报表的方法示例
Jul 12 #Python
python 数据的清理行为实例详解
Jul 12 #Python
You might like
php Smarty初体验二 获取配置信息
2011/08/08 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
js数组Array sort方法使用深入分析
2013/02/21 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
python中mechanize库的简单使用示例
2014/01/10 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python处理文本换行符实例代码
2018/02/03 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
python中partial()基础用法说明
2018/12/30 Python
Python list运算操作代码实例解析
2020/01/20 Python
Python爬取梨视频的示例
2021/01/29 Python
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
党支部特色活动方案
2014/08/20 职场文书
赤壁观后感(2)
2015/06/15 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
python实现网络五子棋
2021/04/11 Python