利用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科学计算包numpy用法实例详解
Feb 08 Python
django的登录注册系统的示例代码
May 14 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
在主流系统之上安装Pygame的方法
May 20 Python
如何在python中实现线性回归
Aug 10 Python
python 多线程中join()的作用
Oct 29 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 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和MySql来与ODBC数据连接
2006/10/09 PHP
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
深入探寻javascript定时器
2015/01/02 Javascript
JS解析XML实例分析
2015/01/30 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
python动态参数用法实例分析
2015/05/25 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
php优化查询foreach代码实例讲解
2021/03/24 PHP
校运会广播稿100字
2014/01/27 职场文书
精神文明单位申报材料
2014/05/02 职场文书
核心价值观演讲稿
2014/05/13 职场文书
模具专业自荐信
2014/05/29 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
语文教师求职信范文
2015/03/20 职场文书