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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
python使用fork实现守护进程的方法
Nov 16 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
python得到单词模式的示例
Oct 15 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
python_mask_array的用法
Feb 18 Python
python属于软件吗
Jun 18 Python
python爬虫请求头设置代码
Jul 28 Python
Django数据库(SQlite)基本入门使用教程
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
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
解析WordPress中函数钩子hook的作用及基本用法
2015/12/22 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
javascript实现密码验证
2015/11/10 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
python实现批量命名照片
2020/06/18 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
端午节粽子促销活动方案
2014/02/02 职场文书
班级安全教育实施方案
2014/02/23 职场文书
安全横幅标语
2014/06/09 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
先进个人推荐材料
2014/12/29 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书