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 for Informatics 第11章之正则表达式(二)
Apr 21 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
Python搜索引擎实现原理和方法
Nov 27 Python
windows下python安装小白入门教程
Sep 18 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
解决python打开https出现certificate verify failed的问题
Sep 03 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
opencv实现图像几何变换
Mar 24 Python
Python实战之OpenCV实现猫脸检测
Jun 26 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 Smarty模板生成html文档的方法
2010/04/12 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
Django 实现下载文件功能的示例
2018/03/06 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python Tensor和Array对比分析
2020/01/08 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
Python调用Redis的示例代码
2020/11/24 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
园林技术个人的自我评价
2014/01/08 职场文书
大学新生军训感言
2014/02/25 职场文书
文员岗位职责范本
2014/03/08 职场文书
中国好声音广告词
2014/03/18 职场文书
运动会加油口号
2014/06/07 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技