# Invoice **Repository Path**: wanggangdev/invoice ## Basic Information - **Project Name**: Invoice - **Description**: 电子发票(PDF)识别与验真,使用pdfbox进行电子发票识别,使用用友API进行验真。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 120 - **Created**: 2020-11-11 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # invoice #### 介绍 电子发票(PDF)识别与验真 1、支持电子发票(PDF)的读取 目前 **仅支持普通发票** ,不足以在生产环境使用,如果您想解析其他类型发票可以自行研究,或者在issues中提交讨论。 2、验真 代码中有使用用友apilink的接口验真(0.1~0.2元/次,比较贵) 网上也有其他付费接口,如阿里云市场、乐税网等。价格、稳定性不好说。 通过验证码识别,然后调用国税局官网查询接口这个会有不少坑,等以后有时间再研究。 网上的验证码识别率比较高的,价格在2万左右(源码+训练模型)。 ##### 识别原理: 1)使用pdfbox提取pdf文本内容,通过正则匹配到部分属性 2)第一步无法获取全部有效的属性信息,通过关键字拿到定位信息,使用定位的区域,通过pdf的区域读取问题,然后再结合正则进一步匹配得到其他有效属性信息。 ##### 特别说明: 该项目核心识别代码来源于github上的fantasyxxj的einvoice项目,在此基础上做的改动调整,在此感谢。 #### 软件架构 springboot pdfbox #### 安装教程 从git导入IDE即可 #### 使用说明 参考demo中的电子发票读取 效果如下: ![解析结果](https://hanmanyi.club/images/111.png) #### 后续计划 1、批量读取电子发票并导出到excel 这个网上其实有案例,python写的居多。 2、发票验真 难点:验证码识别、接口秘钥生成算法(频繁变动)、反爬虫技术等(IP黑名单等)