利用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实现排序算法
Feb 14 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
Python编程实现的图片识别功能示例
Aug 03 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
python验证码图片处理(二值化)
Nov 01 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
python em算法的实现
Oct 03 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
php读取csc文件并输出
2015/05/21 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
php创建图像具体步骤
2017/03/13 PHP
php探针不显示内存解决方法
2019/09/17 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
python绘制封闭多边形教程
2020/02/18 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
计算机专业毕业生的自我评价
2013/11/18 职场文书
毕业生自我鉴定
2013/12/04 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书