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 相关文章推荐
Flask入门教程实例:搭建一个静态博客
Mar 27 Python
简单了解Django模板的使用
Dec 20 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
基于python实现学生管理系统
Oct 17 Python
python简单区块链模拟详解
Jul 03 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
Sep 22 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
如何用python写个模板引擎
Jan 14 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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实现json_decode不转义中文的方法
2017/05/20 PHP
一个JS翻页效果
2007/07/23 Javascript
js tab 选项卡
2009/04/26 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
pyside写ui界面入门示例
2014/01/22 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
python动态规划算法实例详解
2020/11/22 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
Delphi CS笔试题
2014/01/04 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
租房安全协议书
2014/08/20 职场文书
聘任书格式及范文
2015/09/21 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis
Vue深入理解插槽slot的使用
2022/08/05 Vue.js