利用python将pdf输出为txt的实例讲解

 更新时间:2018年04月23日 09:24:05   作者:n不正  
下面小编就为大家分享一篇利用python将pdf输出为txt的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包。于是安装了一下,安装过程很简单:

sudo pip install pdfminer;

中间也没有任何的报错。至于如何调用,本人也没有很好的研究过pdfminer这个库,于是开始了百度……

官方文档:http://www.unixuser.org/~euske/python/pdfminer/index.html

完全使用python编写。 (适用于2.4或更新版本)

解析,分析,并转换成PDF文档。

PDF-1.7规范的支持。 (几乎)

中日韩语言和垂直书写脚本支持。

各种字体类型(Type1、TrueType、Type3,和CID)的支持。

基本加密(RC4)的支持。

PDF与HTML转换。

纲要(TOC)的提取。

标签内容提取。

通过分组文本块重建原始的布局。

一些基本的类

PDFParser:从一个文件中获取数据

PDFDocument:保存获取的数据,和PDFParser是相互关联的

PDFPageInterpreter处理页面内容

PDFDevice将其翻译成你需要的格式

PDFResourceManager用于存储共享资源,如字体或图像。

简单的实现

读取test.pdf输出为output.txt:

# -*- 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 * 
from pdfminer.converter import PDFPageAggregator 
import os 
fp = open('test.pdf', 'rb') 
#来创建一个pdf文档分析器 
parser = PDFParser(fp) 
#创建一个PDF文档对象存储文档结构 
document = PDFDocument(parser) 
# 检查文件是否允许文本提取 
if not document.is_extractable: 
 raise PDFTextExtractionNotAllowed 
else: 
 # 创建一个PDF资源管理器对象来存储共赏资源 
 rsrcmgr=PDFResourceManager() 
 # 设定参数进行分析 
 laparams=LAParams() 
 # 创建一个PDF设备对象 
 # device=PDFDevice(rsrcmgr) 
 device=PDFPageAggregator(rsrcmgr,laparams=laparams) 
 # 创建一个PDF解释器对象 
 interpreter=PDFPageInterpreter(rsrcmgr,device) 
 # 处理每一页 
 for page in PDFPage.create_pages(document): 
  interpreter.process_page(page) 
  # 接受该页面的LTPage对象 
  layout=device.get_result() 
  for x in layout: 
   if(isinstance(x,LTTextBoxHorizontal)): 
    with open('output.txt','a') as f: 
     f.write(x.get_text().encode('utf-8')+'\n') 

以上这篇利用python将pdf输出为txt的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python入门教程(三十六)Python的文件写入

    Python入门教程(三十六)Python的文件写入

    这篇文章主要介绍了Python入门教程(三十六)Python的文件写入,open()函数可以打开一个文件供读取或写入,如果这个函数执行成功,会回传文件对象,需要的朋友可以参考下
    2023-05-05
  • python中plt.imshow与cv2.imshow显示颜色问题

    python中plt.imshow与cv2.imshow显示颜色问题

    这篇文章主要介绍了plt.imshow与cv2.imshow显示颜色问题,本文给大家介绍的非常详细,同时给大家提到了cv2.imshow()和plt.imshow()的区别讲解,需要的朋友可以参考下
    2020-07-07
  • python深度学习标准库使用argparse调参

    python深度学习标准库使用argparse调参

    这篇文章主要为大家介绍了python深度学习标准库使用argparse调参实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Ubuntu下使用Python实现游戏制作中的切分图片功能

    Ubuntu下使用Python实现游戏制作中的切分图片功能

    这篇文章主要介绍了Ubuntu下使用Python实现游戏制作中的切分图片功能,涉及Python针对图片的读取、载入、切分运算等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • python 使用OpenCV进行简单的人像分割与合成

    python 使用OpenCV进行简单的人像分割与合成

    这篇文章主要介绍了python 使用OpenCV进行简单的人像分割与合成的方法,帮助大家更好的利用python处理图像,感兴趣的朋友可以了解下
    2021-02-02
  • kNN算法python实现和简单数字识别的方法

    kNN算法python实现和简单数字识别的方法

    这篇文章主要介绍了kNN算法python实现和简单数字识别的方法,详细讲述了kNN算法的优缺点及原理,并给出了应用实例,需要的朋友可以参考下
    2014-11-11
  • 解决pycharm安装第三方库失败的问题

    解决pycharm安装第三方库失败的问题

    这篇文章主要介绍了pycharm安装第三方库失败的解决方法,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Jupyter Notebook切换虚拟环境的三种方法

    Jupyter Notebook切换虚拟环境的三种方法

    本文主要介绍了Jupyter Notebook切换虚拟环境的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Python enumerate内置库用法解析

    Python enumerate内置库用法解析

    这篇文章主要介绍了Python enumerate内置库用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python读取配置文件-ConfigParser的二次封装方法

    Python读取配置文件-ConfigParser的二次封装方法

    这篇文章主要介绍了Python读取配置文件-ConfigParser的二次封装方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论