Python2.7读取PDF文件的方法示例

 更新时间:2017年07月13日 09:35:21   作者:guozhenqiang1992  
这篇文章主要介绍了Python2.7读取PDF文件的方法,结合实例形式分析了Python2.7基于PDFMiner模块实现针对pdf文件的读取功能相关操作技巧,需要的朋友可以参考下

本文实例讲述了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数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python pandas中to_sql的使用及问题详解

    Python pandas中to_sql的使用及问题详解

    今天在使用 Pandas 的 to_sql 方法时,遇到一些问题,所以下面这篇文章主要给大家介绍了关于Python pandas中to_sql的使用及问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 深入了解Python如何操作MongoDB

    深入了解Python如何操作MongoDB

    MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统。本文主要介绍了如何通过Python操作MongoDB,需要的可以参考一下
    2022-01-01
  • pyftplib中文乱码问题解决方案

    pyftplib中文乱码问题解决方案

    这篇文章主要介绍了pyftplib中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • python 线程的五个状态

    python 线程的五个状态

    这篇文章主要介绍了python 线程的五个状态,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • python获得文件创建时间和修改时间的方法

    python获得文件创建时间和修改时间的方法

    这篇文章主要介绍了python获得文件创建时间和修改时间的方法,涉及Python针对文件属性的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • 图文详解WinPE下安装Python

    图文详解WinPE下安装Python

    这篇文章主要以图文结合的方式详细介绍了WinPE下安装Python的具体实现步骤,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Keras之自定义损失(loss)函数用法说明

    Keras之自定义损失(loss)函数用法说明

    这篇文章主要介绍了Keras之自定义损失(loss)函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • tf.concat中axis的含义与使用详解

    tf.concat中axis的含义与使用详解

    今天小编就为大家分享一篇tf.concat中axis的含义与使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Pycharm如何添加源与添加库

    Pycharm如何添加源与添加库

    这篇文章主要介绍了Pycharm如何添加源与添加库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python input()函数案例教程

    Python input()函数案例教程

    在 Python 中,input() 函数用于获取用于的输入,并给出提示。input() 函数,总是返回 string 类型,因此,我们可以使用 input() 函数,获取用户输入的任何数据类型 ,这篇文章主要介绍了Python input()函数案例详解,需要的朋友可以参考下
    2023-01-01

最新评论