上一篇文章中已经介绍了简单的python爬网页下载文档,但下载后的文档多为doc或pdf,对于数据处理仍然有很多限制,所以将doc/pdf转换成txt显得尤为重要。查找了很多资料,在linux下要将doc转换成txt确实有难度,所以考虑先将pdf转换成txt。

师兄推荐使用PDFMiner来处理,尝试了一番,确实效果不错,在此和大家分享。

PDFMiner 的简介:PDFMiner is a tool for extracting information from PDF documents. Unlike other PDF-related tools, it focuses entirely on getting and analyzing text data.有兴趣的同学请通过官网进行详细查看,通过PDFMiner中的小工具pdf2txt.py,便能将pdf转换成txt,而且仍保留pdf中的格式,超赞!

阅读pdf2txt.py的源码,我们可以看到具体的实现步骤,为了以后能处理大规模的pdf文件,这里我们只提取出pdf转换成txt的部分,具体实现代码如下:

# -*- coding: utf-8 -*-

#-----------------------------------------------------

# 功能:将pdf转换成txt(不处理图片)

# 作者:chenbjin

# 日期:2014-07-11

# 语言:Python 2.7.6

# 环境:linux(ubuntu)

# PDFMiner20140328(Must be installed)

# 使用:python pdf2txt.py file.pdf

#-----------------------------------------------------

import sys

from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

from pdfminer.pdfpage import PDFPage

#main

def main(argv) :

#输出文件名,这里只处理单文档,所以只用了argv[1]

outfile = argv[1] + ‘.txt‘

args = [argv[1]]

debug = 0

pagenos = set()

password = ‘‘

maxpages = 0

rotation = 0

codec = ‘utf-8‘ #输出编码

caching = True

imagewriter = None

laparams = LAParams()

#

PDFResourceManager.debug = debug

PDFPageInterpreter.debug = debug

rsrcmgr = PDFResourceManager(caching=caching)

outfp = file(outfile,‘w‘)

#pdf转换

device = TextConverter(rsrcmgr, outfp, codec=codec, laparams=laparams,

imagewriter=imagewriter)

for fname in args:

fp = file(fname,‘rb‘)

interpreter = PDFPageInterpreter(rsrcmgr, device)

#处理文档对象中每一页的内容

for page in PDFPage.get_pages(fp, pagenos,

maxpages=maxpages, password=password,

caching=caching, check_extractable=True) :

page.rotate = (page.rotate+rotation) % 360

interpreter.process_page(page)

fp.close()

device.close()

outfp.close()

return

if __name__ == ‘__main__‘ : main(sys.argv)

下一步将尝试将pdf中的图片进行转换,可以通过http://denis.papathanasiou.org/2010/08/04/extracting-text-images-from-pdf-files/ 进行了解。

参考资料:

1.PDFMiner:http://www.unixuser.org/~euske/python/pdfminer/

python pdf转txt保留全部信息_Python 将pdf转换成txt(不处理图片)相关推荐

  1. python pdf处理 图片_Python 将pdf转换成txt(不处理图片)

    上一篇文章中已经介绍了简单的python爬网页下载文档,但下载后的文档多为doc或pdf,对于数据处理仍然有很多限制,所以将doc/pdf转换成txt显得尤为重要.查找了很多资料,在linux下要将d ...

  2. python读取pdf文件并转换成txt文件

    将pdf文件转换成txt文件 官网 文档 中英文pdf都可以,而且处理速度很快,一秒可以处理10页左右 python2: pip install pdfminer python3: pip insta ...

  3. 怎么把pdf电子书转换成txt格式

       PDF文件因其快捷.方便.文件小.安全性高等优点已经被广泛应用.然而生活中为了能够圆满完成领导交代的工作,常常需要对批量的PDF文件践行编辑,这就涉及到PDF文件的格式转换问题.少数几个PDF文 ...

  4. pdf转txt java_pdf转换txt怎么操作?pdf文件可以转换成txt文件吗?

    虽说PDF文件看起来很华丽,包含的信息很多,有文字.有图片,甚至还能有附加的网页信息和视频内容,但是看起来舒服的PDF文件其实使用起来却非常的麻烦,其中可能会有各种各样的格式,二次利用的时候,还需要将 ...

  5. pdf转换成txt转换器在线转换

    PDF.TXT.Word.Excel和Word格式文件是我们我们日常办公中使用频率最高的,有时我们需要将PDF转换成为更加便捷打印编辑的TXT和Word文档,而面对这两种不同格式的转换,很多用户都试图 ...

  6. PDF如何转换成TXT文本

    由于工作的需要,我们常常需要将大量的PDF文件进行格式转换,但是Adobe公司提供的阅读器中,对于某些加密的文件,是没有办法复制的,如果想复制的话,一些软件也是收费的.这时,我们急需要一个可以把PDF ...

  7. 比较好的pdf转换成txt转换器

    比较好的pdf转换成txt转换器 随着PDF文件格式在网络上的流行,越来越多文学作品以及学术论文等信息都被设置成PDF文件格式.对于不少爱好阅读的网友来说,下载这部分的PDF资料进行参考学习是非常重要 ...

  8. 怎样将pdf转换成txt格式

    经常上网下载资料的用户一定知道,网上大部分的信息资料也都是以PDF格式出现的,而当我们需要将有关资料进行二次编辑时,就需要将器转换成可编辑的文件格式,比如word或txt,可是要实现这一转换该怎么做呢 ...

  9. 实现pdf图片格式转换成txt文档的方法

    怎样才能将PDF转换成TXT文本? 遇到PDF与TXT转换的问题,我们该怎么办呢?之前尝试过手动用键盘打字,但是花费了很多的时间,完全不符合现代社会人的节奏,在这里,我主要讲解一种方法,就是关于如何从 ...

最新文章

  1. group by总结(还有having)
  2. 多台计算机怎样才能同时使用互联网,如何实现一台路由器多台计算机同时上网...
  3. [转]hibernate------HQL总结
  4. python orm peewee
  5. 一个简单的语言的语法(二):ANTLR的重写规则
  6. [linux] 如果修改用户的密码
  7. 动态规划之01 背包---Hd2602 Bone Collector
  8. recyclerview item点击无效_让你彻底掌握RecyclerView的缓存机制
  9. 8个使用JavaScript展示图片解决方案
  10. 数据驱动科技赋能,东吴证券打造数据中台“九大能力”
  11. Kotlin入门(20)几种常见的对话框
  12. python-socket作业
  13. 解决办法:对‘operator delete(void*)’未定义的引用
  14. 随机过程知识点学习与总结
  15. 微型计算机控制数字量输入输出,计算机控制系统输入/输出通道
  16. Modularity(模块性)
  17. cnsl是什么意思_CNSL是什么意思
  18. 电路基础_模拟电路_问答_2023
  19. .NET 图片格式转换
  20. 弘辽科技:裁员、大降价,行业第一卖家“自救”

热门文章

  1. 网站架构之缓存应用(摘录)
  2. linux的基础知识——TCP握手
  3. 【计算机网络复习】1.2.2 OSI参考模型
  4. Java 的发展(历史)轨迹和历史变迁
  5. 计算机类对口升学都可以升啥专业,计算机专业对口升学专业试题.doc
  6. ios笔试题算法_微软笔试题-Dijkstra算法
  7. linux alsa声卡命令,Linux ALSA声卡驱动之一:ALSA架构简介
  8. C语言bound函数,C/C++-STL中lower_bound与upper_bound的用法以及cmp函数
  9. linux清除configure文件_在Linux操作系统下自动生成Makefile的方法
  10. python变量类型之间转换_Python常用数据类型之间的转换总结