自动识别发票号码、开票日期、购销双方、明细项目与价税合计; PDF 会先逐页转成图片再识别,识别不出的一律归入「未识别」文件夹,原件分毫不动。
| 文件名 | 发票号码 | 金额 | 状态 |
|---|---|---|---|
| dzfp_2632…52877 | 26327000000152878277 | 10.00 | 成功 |
| dzfp_2632…278284 | 26327000000152878284 | 522.10 | 成功 |
| dzfp_2632…53793 | 26327000001688364793 | 1,085.84 | 成功 |
| 未识别-0163083878_04 | — | — | 未识别 |
把手工抄录的工作量,压缩成点一次按钮
文件夹里有 PDF,工具会先逐页渲染成 JPG(命名 原文件名_页码.jpg)再识别,与原有图片一起处理。原始 PDF 分毫不动。
全是图片 → 跳过这一步,行为与以前完全一样; 纯 PDF 或图文混装 → 新建 处理后 文件夹,转换出的页图与原有图片都放进去,Excel 与「未识别」也生成在里面。
选中文件夹即开始,自动扫描其中全部图片(jpg / png / bmp / webp / tif),不同票种混放也能处理。
识别引擎内置在 exe 里(RapidOCR + ONNX Runtime),票据图片不上传、不调用任何云端接口。
识别失败的图片复制到该文件夹下的「未识别」子文件夹(没有就新建),原图保留不动,方便人工补录。
「票据汇总」一票一行含价税合计,「明细」一项目一行含数量与金额,均带筛选与冻结表头。
按列头坐标定位「金额 / 数量」列、按行聚类归并明细,适应不同票面的表格排布差异。
纯中文 tkinter 界面,实时进度条与结果表格,识别失败的票据以红色标出,一眼看清。
不需要配置任何参数,也不用懂 OCR
拍照的、扫描的、导出的电子发票,甚至 PDF,混着放都行。
有 PDF 会先转成图片(进度条显示"准备文件…"),随后逐张识别。
出现 发票识别汇总.xlsx 与等待人工处理的 未识别\;有 PDF 时它们在 处理后 文件夹内。
不是。单文件版启动时要把内置的识别引擎自解压到临时目录,首次约需 5~10 秒,之后启动会更快。若想启动即用,建议选安装版。
不会。识别引擎(模型文件)已打包进 exe,全程在本机 CPU 上运行,程序不发起任何网络请求。断网也能正常使用。
常见原因有三种:图片过于模糊或倾斜导致 OCR 失败;该图是住院费用清单等附件页、本身不含发票号码与价税合计;票面结构与已支持的类型差异过大。这些图片会被复制到「未识别」文件夹,方便人工补录,不会混进汇总表。
可以。文件夹里有 PDF 时会先逐页转成图片(命名 原文件名_页码.jpg)再识别,原始 PDF 不会被改动。若同时有图片,会新建 处理后 文件夹,把转换出的页图与原有图片一起复制进去,Excel 与「未识别」也生成在里面;如果全是图片,这一步自动跳过。界面上的「自动把 PDF 转成图片」开关可随时取消。
这是正常的。增值税发票上明细行的金额是不含税金额,加上税额才等于价税合计。差额就是税额,不是识别错误。
不会。程序只做「复制」,原图始终留在原位置;目标文件已存在时也不覆盖。
目前只提供 Windows 10 / 11 64 位版本。macOS 用户可拉取源码,参考仓库 README 自行运行。
仓库自带一个纯 bash 单文件的部署脚本 deploy/update_site.sh:在宝塔面板的计划任务里粘贴一次,之后它定期跑一次,就会自动同步本页、把两个 exe 镜像到本站 downloads/ 目录并把下载链接改写成服务器直链,国内用户不再走 GitHub。三源容灾 + 内容校验 + 自动备份,拉不到或校验不过就保留原页面,不会把站点搞坏。部署方式见仓库 deploy/README.md。