用PDFMiner从PDF中提取文本文字

Posted WOTGL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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

以上是关于用PDFMiner从PDF中提取文本文字的主要内容,如果未能解决你的问题,请参考以下文章

用pdfminer.six打开一个PDF,从一个URL中打开。

如何使用 pdfminer 作为库

从PDF python中提取/识别表[关闭]

PDFMiner 未检测到所有页面

如何使用 Python 从 PDF 文件中读取简单文本?

pdf解析与结构化提取