我正在创建一个桌面/ winform应用程序,该应用程序读取tif / pdf应付帐款发票并提取所有发票信息以存储到数据库中。
我可以阅读标准条形码(QR码,Code39等)和一些应付发票的标准字段(发票日期,公司名称,地址)和OCR(ocr特定图像区域)但无法捕获订单项,数量正确。
我分两个阶段提取信息:
1.根据模板(用户映射区域)读取特定区域
特定领域)
2. OCR整页并搜索应付款
发票标准字段名称和值
我知道遵循3种方法:
1.为一种类型的发票创建模板并处理所有发票
2.基于Nural网络的引擎,需要使用样本数据进行训练,以便根据模式进行处理
3.表格处理,一种OMR。 OCR用于查看在表单上放置字段的完全相同的坐标(在表单设计期间)
问题:
如何使用OCR或某些智能读卡器取消应付发票?
主要是我寻找一些algorithem(C#+ OCR引擎)/ philoshpy应付发票捕获,但参考一些具有相同功能或固体商业产品的SDK也会有所帮助。
我用Google搜索并找到了Abbyy FlexiCapture Engine,IRIS Capture&提取有点承诺但主要是基于模板或培训。他们声称不需要模板或培训,但没有任何东西看起来100自动捕获。
请参考某些产品(至少免费试用),SDK或示例/样本。
答案 0 :(得分:7)
当然,到2018年,情况有所改善。让我概括一下今天的主要方法:
答案 1 :(得分:3)
我做了R& D并得出结论:没有用于发票Capture的专用SDK可以将其自动化95-100%。只有OCR / ICR和成像SDK可以帮助将图像转换为文本/可读文档,但其余的捕获/数据提取完全基于自定义搜索算法(如上面提到的ilya-evdokimov,您需要混合步骤( zonal ocr,全文ocr,然后智能数据提取)。我研究了一些非常流行的产品,但他们只是声称自动捕获,但最终他们只是自动拨打标准发票字段,但其余的工作是相同的zonal ocr或manual。是我的建议,但根据自然应用还有很多改进:
答案 2 :(得分:1)
经过更多的研发(*)之后,现在实际上已经有了带有API的专用SDK:
首先-对于初学者来说,https://rossum.ai/developers处有演示
现在可以像这样通过API(https://docs.api.rossum.ai/)自动化整个提取过程:
上传发票:
invoice_file=$1
endpoint='https://all.rir.rossum.ai'
curl -H "Authorization: secret_key $ELIS_API_KEY" -X POST -F file="@$invoice_file;type=application/pdf" $endpoint/document
下载结果:
invoice_id=$1
endpoint='https://all.rir.rossum.ai'
curl -H "Authorization: secret_key $ELIS_API_KEY" $endpoint/document/$invoice_id
这些bash示例来自https://github.com/rossumai/elis-client-examples/
(*,*是我在公司自己的研发工作 ;)的直接结果)