pdf电子发票识别

电子发票识别
完整项目:https://github.com/jiangnanboy/pdf_invoice_parser

简介

普通电子发票识别,可识别大部分电子普票,电子专票,全电发票,文件类型支持pdf和ofd格式。

web接口调用形式

pdf解析结果测试

{
    "msgCode": 200,
    "msg": "返回成功!",
    "code": "012001800211",
    "number": "23326471",
    "date": "2018年09月21日",
    "checksum": "16707184549009707698",
    "totalAmount": 756.63,
    "totalAmountString": "柒佰伍拾陆元陆角叁分",
    "taxAmount": 22.04,
    "amount": 734.59,
    "buyerName": "聚光科技(杭州)股份有限公司",
    "buyerCode": "91330000734500338C",
    "buyerAddress": "杭州市滨江区滨安路760号0571-85012188",
    "buyerAccount": "中行滨江支行385758326851",
    "sellerName": "滴滴出行科技有限公司",
    "sellerCode": "911201163409833307",
    "sellerAddress": "天津经济技术开发区南港工业区综合服务区办公楼C座103室12单元022-59002850",
    "sellerAccount": "招商银行股份有限公司天津自由贸易试验区分行122905939910401",
    "type": "普通发票",
    "detailList": [
        {
            "name": "*运输服务*客运服务费 无",
            "model": null,
            "unit": "次",
            "count": 1,
            "price": 734.59,
            "amount": 734.59,
            "taxRate": 0.03,
            "taxAmount": 22.04
        }
    ]
}
 

ofd解析结果测试

{
    "msgCode": 200,
    "msg": "返回成功!",
    "code": null,
    "number": "24122000000021651285",
    "date": "2024年04月22日",
    "checksum": null,
    "totalAmount": 14464.11,
    "totalAmountString": "壹万肆仟肆佰陆拾肆圆壹角壹分",
    "taxAmount": 1664.01,
    "amount": 12800.10,
    "buyerName": "天津中通鼎兴钢管有限公司",
    "buyerCode": "91120112578348556H",
    "buyerAddress": null,
    "buyerAccount": null,
    "sellerName": "天津市合盛钢管有限公司",
    "sellerCode": "91120223727492229X",
    "sellerAddress": null,
    "sellerAccount": null,
    "type": "增值税专用发票",
    "detailList": [
        {
            "name": "*黑色金属冶炼压延品*直缝焊管",
            "model": "60*3.5",
            "unit": "吨",
            "count": 3.2,
            "price": 3565.48672566372,
            "amount": 11409.56,
            "taxRate": 0.13,
            "taxAmount": 1483.24
        },
        {
            "name": "*黑色金属冶炼压延品*直缝焊管",
            "model": "60*3.75",
            "unit": "吨",
            "count": 0.23,
            "price": 3565.48672566372,
            "amount": 820.06,
            "taxRate": 0.13,
            "taxAmount": 106.61
        },
        {
            "name": "*黑色金属冶炼压延品*直缝焊管",
            "model": "60*4.75",
            "unit": "吨",
            "count": 0.16,
            "price": 3565.48672566372,
            "amount": 570.48,
            "taxRate": 0.13,
            "taxAmount": 74.16
        }
    ]
}
 

说明

优化如下:

  • 1.将ofd的转为pdf再进行解析,避免了ofd解析错误。
  • 2.优化了pdf解析过程的若干错误。
  • 3.对pdf解析结果的矫正以及去除不必要的解析信息。
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要确认Java中电子发票PDF的真伪,可以采取以下步骤: 1. 验证电子签名:首先,通过Java的数字签名库,可以使用公钥验证PDF中的数字签名。数字签名是将文件内容与私钥进行加密生成的一段加密摘要,用于验证文件是否经过篡改。如果签名有效,说明PDF文件未被修改。可以使用Java的数字签名API对PDF文件进行验证。 2. 验证发票代码和号码:电子发票通常包含发票代码和发票号码,这些信息一般在PDF中以文本的形式呈现。通过使用Java的PDF解析库,可以提取PDF中的文本信息,然后与发票代码和号码进行比对,以确保它们与原始发票一致。 3. 验证发票抬头和金额:另外,可以使用Java的PDF解析库提取PDF中的文本信息来验证发票的抬头和金额。确认发票抬头与原始发票一致,并且金额正确无误。 4. 验证OCR识别结果:有些电子发票是通过OCR(光学字符识别)技术生成的,因此可能存在识别错误的情况。可以使用Java的OCR库对PDF中的文本进行识别,并将识别结果与原始发票进行对比,以确保准确性。 需要注意的是,确认电子发票PDF的真伪并不仅依赖于Java技术,还需要与电子发票的签名验证机制、发票信息的存储和查询等环节相结合来完成。以上只是在Java中确认电子发票PDF真伪的一些基本思路和方法。具体实施时,还需要根据具体的业务要求和实际情况进行进一步调整和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值