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 制作图片转pdf工具
Jan 30 Python
Python生成器(Generator)详解
Apr 13 Python
Python OS模块常用函数说明
May 23 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
VSCode下配置python调试运行环境的方法
Apr 06 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
np.random.seed() 的使用详解
Jan 14 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 Python
Python字典fromkeys()方法使用代码实例
Jul 20 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实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
json数据的列循环示例
2013/09/06 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
技术人员面试提纲
2013/11/28 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
职工宿舍管理制度
2015/08/05 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python