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 相关文章推荐
node.js获取参数的常用方法(总结)
May 29 Python
100行Python代码实现自动抢火车票(附源码)
Jan 11 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
Django项目中包含多个应用时对url的配置方法
May 30 Python
利用pandas读取中文数据集的方法
Jul 25 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
Python3多目标赋值及共享引用注意事项
May 27 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
Python3 assert断言实现原理解析
Mar 02 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
这样写python注释让代码更加的优雅
Jun 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处理postfix邮件内容的方法
2015/06/16 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
webpack 模块热替换原理
2018/04/09 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
js验证账户名是否重复
2020/05/26 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
EM算法的python实现的方法步骤
2018/01/02 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
html5的localstorage详解
2017/05/09 HTML / CSS
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
2014年乡镇植树节活动方案
2014/02/28 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android