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中self原理实例分析

    python中self原理实例分析

    这篇文章主要介绍了python中self原理,较为详细的分析了self的原理与相关的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • PyCharm新建.py文件时默认添加信息的实现

    PyCharm新建.py文件时默认添加信息的实现

    这篇文章主要介绍了PyCharm新建.py文件时默认添加信息的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python中的print(f'')具体用法例子

    python中的print(f'')具体用法例子

    在Python中f-string是一种字符串格式化的方式,它允许你在字符串中嵌入变量或表达式的值,这篇文章主要给大家介绍了关于python中print(f'')具体用法例子的相关资料,需要的朋友可以参考下
    2024-05-05
  • python读取word 中指定位置的表格及表格数据

    python读取word 中指定位置的表格及表格数据

    这篇文章主要介绍了python读取word 中指定位置的表格及表格数据,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-10-10
  • Python免登录实现域名解析的示例详解

    Python免登录实现域名解析的示例详解

    这篇文章主要介绍了如何利用编写python脚本,实现通过dnspod api获取个人域名内的dns解析记录,从而实现域名的解析、修改和删除,需要的可以参考一下
    2023-03-03
  • python计算数字或者数组的阶乘的实现

    python计算数字或者数组的阶乘的实现

    本文主要介绍了python计算数字或者数组的阶乘,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 基于wxPython的GUI实现输入对话框(2)

    基于wxPython的GUI实现输入对话框(2)

    这篇文章主要为大家详细介绍了基于wxPython的GUI实现输入对话框的第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • python交互式图形编程实例(二)

    python交互式图形编程实例(二)

    这篇文章主要为大家详细介绍了python交互式图形编程实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python中常用信号signal类型实例

    Python中常用信号signal类型实例

    这篇文章主要介绍了Python中常用信号signal类型实例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python中序列的修改、散列与切片详解

    Python中序列的修改、散列与切片详解

    在Python中,最基本的数据结构是序列(sequence)。下面这篇文章主要给大家介绍了关于Python中序列的修改、散列与切片的相关资料文中通过示例代码介绍的非常详细,需要的朋友可以参考,下面来一起看看吧。
    2017-08-08

最新评论