从发票中提取 pdf 或图像格式的数据

问题描述 投票:0回答:2

我正在开发发票解析器,它从 pdf 或图像格式的发票中提取数据。它适用于具有非表格数据的简单 pdf,但提供大量输出数据以使用包含表格的 pdf 进行处理。我无法获得工作通用的解决方案。我尝试过以下库

Invoice2Data:它是基于模板的。到目前为止,它在json格式中给出了相当好的结果。但是包含动态表的复杂pdf的模板创建很复杂。

Tabula:表格提取是基于要提取的表格的坐标。如果表格中的数据增加,则表格长度增加,从而坐标发生变化。所以在这种情况下会给出错误的结果。

Pdftotext:它将任何 pdf 转换为文本,但其格式需要大量解析,而这是我们不想要的。

Aws_Textract 和 Elis_Rossum_Ai :以 json 格式给出所有数据。但是如果表列包含多行,则 json 解析变得困难。即使给出的 json 解析起来也很大。

Tesseract:与 pdftotext 相同。复杂的 pdf 不可解析。

除了所有这些或结合上述库之外,还有人能够解析复杂的 pdf 数据吗?请帮忙。

parsing ocr invoice pdftotext tabula
2个回答
5
投票

我正在解决类似的业务问题。由于发票没有固定格式,所以不能直接使用任何文本解析方法。

要解决这个问题,您必须使用计算机视觉(深度学习)进行现场检测,并使用 Pytesseract OCR 将图像转换为文本。为了更好地理解,请执行以下步骤:

  1. 使用 labelImg 等工具将发票转换为图像,并使用地址、金额等字段对图像进行注释。 (为了更好的效果使用不同类型的500-1000发票)

  2. 生成 XML 文件后,训练任何对象检测模型,如 YOLO 或 TF 对象检测 API。

  3. 模型将检测字段并为您提供感兴趣区域 (ROI) 的坐标。喜欢 Example Invoice

  4. 在 ROI 坐标上应用 Pytessract OCR。 点击这里

  5. 最后,使用正则表达式验证提取字段中的文本并执行任何必要的操作/转换。最后将数据存储到 CSV 或数据库。

希望我的回答对您有帮助!对答案进行投票,使其覆盖最多的人。


-1
投票

尝试https://doqlens.com。 它有两种方法,首先直接选择表头,然后以json形式导出表数据。 其次,您需要为发票文件创建一个模板,下次只需上传发票即可提取表数据(如果需要再次提取同类发票,这很有用)

© www.soinside.com 2019 - 2024. All rights reserved.