pdf

时间:2017-08-05 22:24:31

标签: pdf computer-vision ocr

我有一些高度结构化的pdf文件,这些文件是我拥有的一些历史技术记录的扫描副本。大约有几千页(约2K页)涉及,我试图自动提取所涉及的信息。

以下链接包含我在Google上找到的图片。我不拥有图像,但出于说明的目的,我试图提取存在于结构化"块中的信息。与此类似,并以编程方式处理提取的信息。 enter image description here

所有文本都是打印/类型书写的文本,理论上应该提供良好的准确性。我愿意根据需要学习这项工作,但我不知道从哪里开始。我想知道

  1. 那里是否有付费程序实际自动执行此操作?
  2. 有一种简单的方法我可以通过使用某些公开可用的代码库进行文本识别等来自行编程吗?我知道很多不同的OCR工具,但我不知道如何以编程方式使用它们从像这样的块中包含的东西中提取东西(并且块在扫描时块的位置可能不同)
  3. 如果我需要雇用某人来做这件事,那么需要投入多少精力来制作一个可以实现这一目标的脚本?
  4. 这是一次性的练习,这意味着它正在制作“漂亮的”#34;和"哑巴" (即不需要GUI)并不重要。

    谢谢!

1 个答案:

答案 0 :(得分:0)

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

  1. 实现IEventListener(一个iText接口),每次处理一条信息(文本,行,图像)时都会调用此接口。
  2. 分离出ImageRenderInfo事​​件(这些事件负责在页面上绘制图像)
  3. 将每个图像提供给Tesseract(或者更确切地说,是java包装器,tess4j)
  4. 以文本形式检索内容,并(使用iText)将内容放回pdf文档中。 iText允许您对文档进行低级访问。因此,您可以将任意字符串放在精确的位置。
  5. 现在使用iText核心库处理(增强的)pdf文档
  6. 使用pdf2Data处理(增强的)pdf文档,这是一个iText附加组件,专门用于处理与模板匹配文档和检索内容的情况。 (将它们变成XML)
  7. 有用的链接:
    http://itextpdf.com/itext7/pdf2Data
    http://tess4j.sourceforge.net/