利用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读取mp3中ID3信息的方法
Mar 05 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
Python反射的用法实例分析
Feb 11 Python
python Opencv将图片转为字符画
Feb 19 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
编写多线程Python服务器 最适合基础
Sep 14 Python
python tkinter canvas使用实例
Nov 04 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
通过python调用adb命令对App进行性能测试方式
Apr 23 Python
Python计算信息熵实例
Jun 18 Python
python中sys模块是做什么用的
Aug 16 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
Angular4编程之表单响应功能示例
2017/12/13 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
推荐11个实用Python库
2015/01/23 Python
Python探索之创建二叉树
2017/10/25 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
python语言的优势是什么
2020/06/17 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
python调用摄像头的示例代码
2020/09/28 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
农村葬礼主持词
2014/03/31 职场文书
《花木兰》教学反思
2014/04/09 职场文书
迁户口计划生育证明
2014/10/19 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
辩论会主持词
2015/07/03 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
在python中读取和写入CSV文件详情
2022/06/28 Python