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用threading实现多线程详解
Feb 03 Python
Python reduce()函数的用法小结
Nov 15 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
python 定义n个变量方法 (变量声明自动化)
Nov 10 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
Python使用python-docx读写word文档
Aug 26 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
Python自动巡检H3C交换机实现过程解析
Aug 14 Python
python开发一款翻译工具
Oct 10 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
只用20行Python代码实现屏幕录制功能
Jun 02 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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
python实现socket客户端和服务端简单示例
2014/02/24 Python
python操作xml文件示例
2014/04/07 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Python中print函数简单使用总结
2019/08/05 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
运动会400米加油稿(8篇)
2014/09/22 职场文书
党员理论学习心得体会
2016/01/21 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL
Pandas加速代码之避免使用for循环
2021/05/30 Python