上一篇文章中已经介绍了简单的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处理 图片_Python 将pdf转换成txt(不处理图片)相关推荐

  1. python阿拉伯数字转中文_python中将阿拉伯数字转换成中文的实现代码

    #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class ...

  2. python数字转英文_python:将数字转换成用英文表达的程序

    前几天无意中看到了一篇文章列了很多数字的英文表达方式(http://blog.csdn.net/sun7545526/article/details/8122416),正好这段时间在学习python, ...

  3. python pdf转txt保留全部信息_Python 将pdf转换成txt(不处理图片)

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

  4. 如何把图片pdf转换成txt

    如何把图片pdf转换成txt 前段时间看到有午饭们在提问有没有PDF转成txt的软件,几经波折,现在找到了一款非常好的PDF转换成TXT转换器,就逼不及待地和大家分享出来了,需要的午饭们请及时下载喔  ...

  5. 如何把pdf图片转换成txt

    如何把pdf图片转换成txt 为什么选择pdf转换成txt转换器?普通的PDF转化为TXT转换器在针对PDF文件的转换上,缺乏一个真正优秀的深层次识别的核心技术,因此无法很好地识别大量文字.图片混杂的 ...

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

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

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

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

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

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

  9. POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)

    POI操作word和PDF POI根据模板导出word文件 word转PDF PDF转图片再插入PDF中(防止PDF被修改) POI根据模板导出word文件 一.制作word模版,${xxxx}是一会 ...

最新文章

  1. python用turtle库绘制树图形_使用Python中的Turtle库绘制简单的图形
  2. HDU - 4135 Co-prime(容斥原理)
  3. elasticsearch使用more_like_this实现基于内容的推荐
  4. matplotlib plot 分组_小白学 Python 数据分析(16):Matplotlib(一)坐标系
  5. linux版本fedora,技术|初级:如何更新 Fedora Linux 系统
  6. Jpa的@Id和@GeneratedValue的使用
  7. 计算机双系统,自己在计算机上安装双系统
  8. python做客户端适合吗_为了选出最合适的 HTTP 客户端,我做了个测评
  9. C#自定义控件七水波纹
  10. ios苹果越狱教程(奥德赛)
  11. 输入月份自动生成excel考勤表,周末高亮,内容可以勾选
  12. Splunk CIM
  13. 3.2.2 方法的重写 3.2.3 super关键字
  14. 给力的国外地质网站在线查看
  15. t.zijieimg.com/v.douyin.com短网址在线缩短工具
  16. Excel导入,一般会遇到的一些问题
  17. 求n的阶乘的算法框图_当代程序员必备技能(算法)之:递归详解 - Java斗帝之路...
  18. Python:OpenCV4识别一个蓝色的圆并估算到相机的距离
  19. POJO有哪些要求?
  20. ELO用户忠诚度评分大赛---异常值的识别和处理

热门文章

  1. 如何使用assoc命令:修改文件关联性。
  2. 狗屁不通文章生成器(看似简单却很有用)
  3. shell 员工生日提醒短信脚本
  4. discuz删除用户时提示“dnt_photocomments”错误
  5. 我的前期“外快”之路
  6. 三年抖音涨粉4800万,从素人到头部网红,祝晓晗是怎么逆袭的?
  7. 《我的眼睛--图灵识别》彩蛋(一张纸的礼物)
  8. 升级360后导致T3软件无法使用的解决方案
  9. NKOI3747 Pets宠物
  10. 避开QQ聊天时遭受攻击的安全技巧(转)