有没有一种方法可以在pdf中搜索特定的关键字并显示与该关键字相关联的值?

时间:2019-01-07 12:30:22

标签: python ocr

假设给了我几个关键字,这些关键字在PDF文件中。有没有办法提取与关键字关联的值?

我尝试了以下操作-

我使用pdfminer读取PDF文件并将其转换为文本文件。完成此步骤后,我能够提取表数据(使用tabula包中存在的area参数),但是如何搜索与关键字关联的值?我这里有2个问题-

  1. 未保留表结构,并且未以正确的方式在文本文件中显示表中的有意义的数据(在PDF中)。一些SO消息来源说,PDF的表结构无法保留。那么有没有办法以有意义的方式阅读故事内容?
  2. 由于问题1,我无法提取与关键字相关联的值。

一些SO答案建议使用OCR,但是如何读取值呢? 一些人还建议使用机器学习/深度学习算法,该算法应弄清楚PDF中的表格在哪里,并提取表格。但是我的问题是,如何提取与关键字相关的值?

示例-假设我的pdf内容为“您好,你好吗。我的身高是6英尺。您的身高是5英尺”。并假设关键字为“ height”。我应该能够提取数字“ 6、5”作为输出。这意味着,关键字可以在PDF中重复多次,并且必须提取与该关键字关联的所有值。

1 个答案:

答案 0 :(得分:0)

Once you have converted/OCRed the PDF and got the text from it then may be you want to read each sentence in the text(may be using split(".")) and run through the sentences with "height" and search of digits using regex something like below. This is just a rather simple suggestion based on limited info in the question and you may have to use different and/or multiple such patterns in order to get satisfactory result.

patt = r"\d+"
if "height" in sentence:
    print(re.findall(patt, m_s))