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函数编程的一些特性
Apr 13 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
python实现八大排序算法(1)
Sep 14 Python
Pycharm以root权限运行脚本的方法
Jan 19 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
使用Python实现音频双通道分离
Dec 25 Python
python中@contextmanager实例用法
Feb 07 Python
Python快速实现一键抠图功能的全过程
Jun 29 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
2006/12/13 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
python创建进程fork用法
2015/06/04 Python
Python中逗号的三种作用实例分析
2015/06/08 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
python实现两个文件夹的同步
2019/08/29 Python
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
班主任寄语大全
2014/04/04 职场文书
社会调查研究计划书
2014/05/01 职场文书
爱心捐助倡议书
2014/05/19 职场文书
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server