2017-08-05 115 views
0

我有一些高度结构化的pdf文件,它们是我拥有的一些历史技术记录的扫描副本。大约有几千页(大约2K页),我试图自动提取涉及的信息。从pdf获取机械化数据提取和文本识别

下面的链接包含我在谷歌上找到的图片。我不拥有图片,但出于说明的目的,我试图提取与类似结构化“块”中的信息,并以编程方式使用所提取的信息进行操作。 enter image description here

所有的文本都是打印/打字的文本,理论上应该给出很好的精度。我愿意根据需要学习如何开展这项工作,但我不知道从哪里开始。我想知道

  1. 是否有付费程序在那里,实际上这自动吗?
  2. 有没有一种简单的方法,我可以简单地通过使用某些公开可用的代码库进行文本识别等自己编程?我知道很多不同的OCR工具,但我只是不知道如何以编程方式使用它们来从这样的块中包含的东西中提取东西(并且从扫描后块可以在位置上变化)
  3. 如果我需要聘请某人来完成这项工作,那么需要投入大量的努力才能生成一个能够实现这一目标的脚本?

这是一次性练习,这意味着它使事情变得“漂亮”和“防呆”(即不需要GUI)并不重要。

谢谢!

回答

0

这可以使用两种工具的组合。 iText和Tesseract OCR。 伪代码:

  1. 实施IEventListener(一个iText的接口),该接口被称为每次一条信息(文本,线,图像)被处理。
  2. 分离出ImageRenderInfo事​​件(这些事件是负责页面上绘制图像)的每个图像
  3. 饲料到超正方体(或更准确地说,在Java包装,tess4j)
  4. 检索内容以文本,和(使用iText)将内容放回到pdf文档中。 iText允许您对文档进行低级访问。从而允许您将任意的字符串放置在精确的位置。
  5. 现在任一过程,使用所述的iText核心库
  6. 或过程使用pdf2Data,一个iText的所述(增强)pdf文件插件,专为处理匹配针对模板文件的情况下被设计和(增强型)pdf文件检索内容。 (把它们变成XML)

相关链接:
http://itextpdf.com/itext7/pdf2Data
http://tess4j.sourceforge.net/

+0

让我看看PDF2Data。我最初有点迷失在如何转换特定字段的设置格式以准确提取。这听起来可能是要走的路。 – Isa