如何在python中使用pdfMiner以谓词方式读取值

如何在python中使用pdfMiner以谓词方式读取值,python,pdfminer,pdf-manipulation,Python,Pdfminer,Pdf Manipulation,我一直在使用pdfMiner读取图形的值,到目前为止,它工作得非常好 但是,有一个区域正确读取了正确的数据,但方式不可预测,这意味着它将正确读取所有图形值,其顺序与它们的显示顺序完全不同 这并不完全是一个问题,因为只要我知道,比如说最后一个图形总是先被读取,我就可以围绕它来构建我的程序。除了pdfMiner读取数据的方式几乎完全不可预测外,我找不到任何可识别的模式 这很可能是因为我对pdfMiner非常不熟悉,所以我不完全确定它是如何工作的。所以是的,如果有人能给我指出正确的方向,那将非常有帮助

我一直在使用pdfMiner读取图形的值,到目前为止,它工作得非常好

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

这并不完全是一个问题,因为只要我知道,比如说最后一个图形总是先被读取,我就可以围绕它来构建我的程序。除了pdfMiner读取数据的方式几乎完全不可预测外,我找不到任何可识别的模式

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

这是我的数据

下面是我使用的转换代码:

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

使用边界框信息来跟踪文档的流程,并找出首先出现的内容