ITPub博客

首页 > 大数据 > 可视化 > Python 读 PDF文件,现只支持到TXT

Python 读 PDF文件,现只支持到TXT

原创 可视化 作者:wyj243 时间:2014-02-08 11:47:53 0 删除 编辑



有一特别的需要从一批pdf文件中获取对应的数据信息,再用R做出可视化的数据报表.


Python 版本2.7,PDFminer是最新版,平台windows


>>> pdfminer.__version__
'20131113'


在windows 上解压pdfminer到python的目录下,为其在pdfminer自己的目录下新建个cmap文件夹 
mkdir pdfminer\cmap
执行相应的脚本:
..\python tools\conv_cmap.py -c B5=cp950 -c UniCNS-UTF8=utf-8 pdfminer\cmap Adobe-CNS1 cmaprsrc\cid2code_Adobe_CNS1.txt
..\python tools\conv_cmap.py -c GBK-EUC=cp936 -c UniGB-UTF8=utf-8 pdfminer\cmap Adobe-GB1 cmaprsrc\cid2code_Adobe_GB1.txt
..\python tools\conv_cmap.py -c RKSJ=cp932 -c EUC=euc-jp -c UniJIS-UTF8=utf-8 pdfminer\cmap Adobe-Japan1 cmaprsrc\cid2code_Adobe_Japan1.txt
..\python tools\conv_cmap.py -c KSC-EUC=euc-kr -c KSC-Johab=johab -c KSCms-UHC=cp949 -c UniKS-UTF8=utf-8 pdfminer\cmap Adobe-Korea1 cmaprsrc\cid2code_Adobe_Korea1.txt
..\python setup.py install


linux 下相当简便些,执行package就成了.


新建一.py文件内容如下:


#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import codecs
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter
from pdfminer.layout import LAParams
from cStringIO import StringIO


def pdfparser(data):


    outfile = data+'.txt'
    fp = file(data, 'rb')
    outfp = file(outfile,'w')
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = "utf-8"
    laparams = LAParams()
    device = TextConverter(rsrcmgr, outfp, codec=codec, laparams=laparams)
    # Create a PDF interpreter object.
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    # Process each page contained in the document.


    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
        data =  retstr.getvalue()


    print data


    device.close()
    outfp.close()


if __name__ == '__main__':
    pdfparser("c:/r/22.pdf")


检查相应的目录,目标文件以生成,支持中文,再根据需要筛选相应的关键字,获取数据信息.
备注:网上有挺多资料中加载了process_pdf类,在现有的版本资料中会报错,笔者纠结了挺久最后试出了这段代码


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/602532/viewspace-1077990/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-10-28

  • 博文量
    2
  • 访问量
    10599