2014-12-03 38 views
0

我一直在使用pdfMiner从图表中读取数值,到目前为止它的工作效果非常好!如何在python中使用pdfMiner预测读取值

但是,有一个区域正确读取了正确的数据,但采用了不可预测的方式,这意味着它会以与它们显示的顺序完全不同的顺序正确读取所有图形值。

这并不完全是一个问题,因为只要我知道,说最后一张图总是会被首先读取,我可以围绕它构造我的程序。除了似乎pdfMiner几乎完全不可预知,它读取这些数据的方式,我没有找到可辨别的模式。

这很可能是因为我对pdfMiner很不熟悉,所以我不完全确定它是如何工作的。所以是的,如果somone能够指引我朝着正确的方向,那将会非常有帮助。

Here是我的数据

这里是我使用的转换代码:

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

print "Getting readable PDF" 

rsrcmgr = PDFResourceManager() 
retstr = StringIO() 
codec = 'utf-8' 
laparams = LAParams() 
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) 
fp = file("graphExtraction.pdf", 'rb') 
interpreter = PDFPageInterpreter(rsrcmgr, device) 
password = "" 
maxpages = 0 
caching = True 
pagenos=set() 
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching,   check_extractable=True): 
    interpreter.process_page(page) 
fp.close() 
device.close() 
str = retstr.getvalue() 
retstr.close() 
values = str 

回答

0

使用边框信息按照你的文档的流程,并找出什么是要先。