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中的tkinter模块作图的方法
Feb 07 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
解决pandas 作图无法显示中文的问题
May 24 Python
python实现抖音视频批量下载
Jun 20 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
详解Python3中ceil()函数用法
Feb 19 Python
Python 二叉树的层序建立与三种遍历实现详解
Jul 29 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Python list列表删除元素的4种方法
Nov 01 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
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
社区(php&&mysql)二
2006/10/09 PHP
理解PHP中的stdClass类
2014/04/18 PHP
如何让CI框架支持service层
2014/10/29 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
使用python存储网页上的图片实例
2018/05/22 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
Python 如何实现访问者模式
2020/07/28 Python
python打包生成so文件的实现
2020/10/30 Python
手机被没收检讨书
2014/02/22 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
python基础之文件操作
2021/10/24 Python