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


Posted in Python onApril 23, 2018

一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到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用于存储共享资源,如字体或图像。

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

简单的实现

读取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中实现贪婪排名算法的教程
Apr 17 Python
python实现文本文件合并
Dec 29 Python
Django自定义分页与bootstrap分页结合
Feb 22 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
python实现二分查找算法
Sep 21 Python
Python实现决策树C4.5算法的示例
May 30 Python
python2与python3共存问题的解决方法
Sep 18 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
python中property属性的介绍及其应用详解
Aug 29 Python
基于Python实现签到脚本过程解析
Oct 25 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 #Python
Python 3.6 读取并操作文件内容的实例
Apr 23 #Python
Python 循环语句之 while,for语句详解
Apr 23 #Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 #Python
python批量替换多文件字符串问题详解
Apr 22 #Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 #Python
Python3.6笔记之将程序运行结果输出到文件的方法
Apr 22 #Python
You might like
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
原生js生成图片验证码
2020/10/11 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
python解析xml文件操作实例
2014/10/05 Python
python判断windows系统是32位还是64位的方法
2015/05/11 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
python FTP编程基础入门
2021/02/27 Python
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
环保公益广告语
2014/03/13 职场文书
自强之星事迹材料
2014/05/12 职场文书
餐饮周年庆活动方案
2014/08/14 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
党员民主生活会材料
2014/12/15 职场文书
测量员岗位职责
2015/02/14 职场文书
好好学习保证书
2015/02/26 职场文书
第一节英语课开场白
2015/06/01 职场文书