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中time()方法的使用的教程
May 22 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
Python requests模块实例用法
Feb 11 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
Python依赖包整体迁移方法详解
Aug 15 Python
python中property属性的介绍及其应用详解
Aug 29 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
Python 限定函数参数的类型及默认值方式
Dec 24 Python
Python实现封装打包自己写的代码,被python import
Jul 12 Python
python em算法的实现
Oct 03 Python
Python 中 sorted 如何自定义比较逻辑
Feb 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实现图片上传的方法
2016/01/22 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
js同时按下两个方向键
2007/12/01 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
Python程序语言快速上手教程
2012/07/18 Python
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
中文专业毕业生自荐书范文
2014/01/04 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
MySQL三种方式实现递归查询
2022/04/18 MySQL
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript