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实现3行代码解简单的一元一次方程
Aug 18 Python
python设计模式大全
Jun 27 Python
python实现按任意键继续执行程序
Dec 30 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
利用python实现xml与数据库读取转换的方法
Jun 17 Python
python调用百度语音识别api
Aug 30 Python
python 多进程队列数据处理详解
Dec 23 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
Python常用编译器原理及特点解析
Mar 23 Python
Elasticsearch 聚合查询和排序
Apr 19 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(3) php 函数
2010/02/15 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
js点击选择文本的方法
2015/02/09 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
利用Python写一个爬妹子的爬虫
2018/06/08 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
J2EE面试题
2016/03/14 面试题
聘任书的写作格式及范文
2014/03/29 职场文书
付款委托书范本
2014/04/04 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
Golang Web 框架Iris安装部署
2022/08/14 Python