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多线程同步Lock、RLock、Semaphore、Event实例
Nov 21 Python
Python中的元类编程入门指引
Apr 15 Python
Python自定义类的数组排序实现代码
Aug 28 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
VSCode下配置python调试运行环境的方法
Apr 06 Python
python实现屏保计时器的示例代码
Aug 08 Python
Python 打印中文字符的三种方法
Aug 14 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
python覆盖写入,追加写入的实例
Jun 26 Python
pygame实现五子棋游戏
Oct 29 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 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编码转换
2012/11/05 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
网页自动跳转代码收集
2009/09/27 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python2.x中文乱码问题解决方法
2015/06/02 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
大学生求职中的自我评价
2013/10/01 职场文书
校园招聘策划书
2014/01/09 职场文书
高三毕业寄语
2014/04/10 职场文书
社团活动总结
2014/04/28 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
高中历史教学反思
2016/02/19 职场文书
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL