用PDFMiner从PDF中提取文本文字

本文档详细介绍了如何下载并安装PDFMiner,并提供了一段Python代码示例来演示如何利用PDFMiner从PDF文件中提取文本内容。此外,还展示了如何处理中文字符以避免乱码问题。

1、下载并安装PDFMiner

  从https://pypi.python.org/pypi/pdfminer/下载PDFMineer

wget https://pypi.python.org/packages/57/4f/e1df0437858188d2d36466a7bb89aa024d252bd0b7e3ba90cbc567c6c0b8/pdfminer-20140328.tar.gz#md5=dfe3eb1b7b7017ab514aad6751a7c2ea

  加压并安装

tar -zxvf pdfminer-20140328.tar.gz
cd pdfminer-20140328/
make cmap  #防止中文乱码,否则处理中文会出现一大堆(CID:xxx)
sudo python setup.py install

2、提取文本文字

from cStringIO import StringIO
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
import sys
import string

def convert_pdf_2_text(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    device = TextConverter(rsrcmgr, retstr, codec='utf-8', laparams=LAParams())
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    with open(path, 'rb') as fp:
        for page in PDFPage.get_pages(fp, set()):
            interpreter.process_page(page)
        text = retstr.getvalue()
    device.close()
    retstr.close()
    return text

text = convert_pdf_2_text(sys.argv[1])
open('real?.txt','wb').write(text)

3、测试结果

 

【1】http://www.unixuser.org/~euske/python/pdfminer/#source

【2】https://www.zhihu.com/question/31586273

转载于:https://www.cnblogs.com/vincent-vg/p/6827031.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值