48 Star 337 Fork 114

皮球爸爸 / Invoice

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

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中的电子发票读取

效果如下: 解析结果

后续计划

1、当前已实现功能

pdf的在线预览,pdf通过模板导出,发票的解析与批量导出,自动读取邮箱中的发票

ofd的在线预览,ofd的解析

以上功能均已实现并在项目中应用,暂未脱敏整理出来,有需要可留言沟通

2、发票验真

难点:验证码识别、接口秘钥生成算法(频繁变动)、反爬虫技术等(IP黑名单等)

更新日志

2020-11-18

增加在线预览PDF和OFD文件的demo,启动服务后,访问首页即可 http://localhost:9088/ 具体实现方式请查看源码

更多说明:

预览pdf使用pdf.js,相关源码请到github搜索该开源项目

预览ofd使用ofd.js,相关源码请到github搜索该开源项目,需要说明的是,该项目前端用的VUE,本人才疏学浅,VUE用的不多,对ofd.js发布后的内容进行了一些修改,进而可以在普通的html项目中使用。更多用法诸如ofd转pdf可以参考原项目的实现。

2021-12-04

近期国家在推专票电子化,开出的发票慢慢也都会由纸票转为电票,比如餐票、加油费、高速费等。

开源出来的代码,大家作为学习或者参考的例子使用可以,但是还不具备直接用于生产环境。对于各种类型文件的解析存在的问题有:

-ofd 格式,是最简单的,只要解压缩读取数据即可

-pdf 格式, 文件跟开发票方有关系,大部分票用本项目中的代码可以解析,但是有一些票的文字格式,不太标准,解析会有问题,像这种情况就需要单独对代码优化。 不过有一类票目前不太好处理,就是类似“套打”生成的pdf,黄色文字是模板,无法通过上述程序解析,只能解析到填充的黑色文字内容。这种情况目前还没有太好的办法, 如果大家有好办法也可以告诉我。当前我能想到的就是整个发票转为图片后,使用OCR图片识别处理。

jpg/png 格式,对于图片目前腾讯、百度都有识别接口,只是需要费用。如果有免费的识别算法,也可告诉我或者留言分享。

MIT License Copyright (c) 2020 Kanen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

电子发票(PDF)识别与验真,电子专票(OFD)在线预览,使用pdfbox进行电子发票识别,使用用友API进行验真。 展开 收起
Java 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/kanen/invoice.git
git@gitee.com:kanen/invoice.git
kanen
invoice
Invoice
master

搜索帮助