利用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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python写的一个文本编辑器
Jan 23 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
python实现批量改文件名称的方法
May 25 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
python如何修改装饰器中参数
Mar 20 Python
详解Django中间件的5种自定义方法
Jul 26 Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 Python
利用python计算时间差(返回天数)
Sep 07 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
python破解同事的压缩包密码
Oct 14 Python
Jupyter notebook 不自动弹出网页的解决方案
May 21 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/11/22 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
jquery提升性能最佳实践小结
2010/12/06 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
Python中的yield浅析
2014/06/16 Python
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python selenium 弹出框处理的实现
2019/02/26 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
Python单链表原理与实现方法详解
2020/02/22 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
python3.7调试的实例方法
2020/07/21 Python
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
企业门卫岗位职责
2013/12/12 职场文书
管理心得体会
2013/12/28 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
安全生产责任书范本
2014/04/15 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
小学班级口号
2014/06/09 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
找规律教学反思
2016/02/23 职场文书