OCR发票识别API实现

news2025/7/10 8:25:00

OCR发票识别API实现

    • 1. 阿里云OCR发票识别
    • 2. Tesseract OCR
    • 3. 利用java调用大模型进行识别
    • 4. 飞桨PaddleOCR

1. 阿里云OCR发票识别

阿里云OCR发票识别

在这里插入图片描述
示例:
接口:https://dgfp.market.alicloudapi.com/ocrservice/invoice
参数:{"img":"图片的base64编码"}
图片转base64网址
在这里插入图片描述

结果:

{
    "angle": 0,
    "data": {
        "发票代码": "",
        "发票号码": "23912000000004155751",
        "机打发票代码": "",
        "机打发票号码": "",
        "开票日期": "2023年06月19日",
        "机器编码": "",
        "校验码": "",
        "受票方名称": "百望股份有限公司",
        "受票方税号": "91110108339805094M",
        "受票方地址、电话": "",
        "受票方开户行、账号": "",
        "密码区": "",
        "不含税金额": "350.94",
        "发票税额": "21.05",
        "大写金额": "叁佰柒拾贰圆整",
        "发票金额": "372.00",
        "销售方名称": "华住酒店管理有限公司大连分公司",
        "销售方税号": "91210202071550843F",
        "销售方地址、电话": "",
        "销售方开户行、账号": "",
        "收款人": "",
        "复核人": "",
        "开票人": "辛梦娣",
        "备注": "",
        "标题": "电子发票(增值税专用发票)",
        "联次": "",
        "发票类型": "数电专用发票",
        "特殊标识信息": "",
        "发票详单": [
            {
                "货物或应税劳务、服务名称": "*住宿服务*住宿费",
                "规格型号": "",
                "单位": "天",
                "数量": "1",
                "单价": "350.943396226415",
                "金额": "350.94",
                "税率": "6%",
                "税额": "21.06"
            }
        ],
        "发票代码解析": ""
    },
    "height": 448,
    "orgHeight": 448,
    "orgWidth": 660,
    "prism_keyValueInfo": [
        {
            "key": "发票代码",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "发票号码",
            "keyProb": 100,
            "value": "23912000000004155751",
            "valuePos": [
                {
                    "x": 516,
                    "y": 18
                },
                {
                    "x": 616,
                    "y": 19
                },
                {
                    "x": 616,
                    "y": 30
                },
                {
                    "x": 516,
                    "y": 29
                }
            ],
            "valueProb": 100
        },
        {
            "key": "机打发票代码",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "机打发票号码",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "开票日期",
            "keyProb": 100,
            "value": "2023年06月19日",
            "valuePos": [
                {
                    "x": 517,
                    "y": 38
                },
                {
                    "x": 588,
                    "y": 38
                },
                {
                    "x": 588,
                    "y": 50
                },
                {
                    "x": 517,
                    "y": 50
                }
            ],
            "valueProb": 100
        },
        {
            "key": "机器编码",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "校验码",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "受票方名称",
            "keyProb": 100,
            "value": "百望股份有限公司",
            "valuePos": [
                {
                    "x": 54,
                    "y": 89
                },
                {
                    "x": 133,
                    "y": 89
                },
                {
                    "x": 133,
                    "y": 101
                },
                {
                    "x": 54,
                    "y": 101
                }
            ],
            "valueProb": 100
        },
        {
            "key": "受票方税号",
            "keyProb": 100,
            "value": "91110108339805094M",
            "valuePos": [
                {
                    "x": 159,
                    "y": 119
                },
                {
                    "x": 303,
                    "y": 119
                },
                {
                    "x": 303,
                    "y": 135
                },
                {
                    "x": 159,
                    "y": 135
                }
            ],
            "valueProb": 100
        },
        {
            "key": "受票方地址、电话",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "受票方开户行、账号",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "密码区",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "不含税金额",
            "keyProb": 100,
            "value": "350.94",
            "valuePos": [
                {
                    "x": 433,
                    "y": 270
                },
                {
                    "x": 469,
                    "y": 270
                },
                {
                    "x": 469,
                    "y": 280
                },
                {
                    "x": 433,
                    "y": 280
                }
            ],
            "valueProb": 100
        },
        {
            "key": "发票税额",
            "keyProb": 95,
            "value": "21.05",
            "valuePos": [
                {
                    "x": 598,
                    "y": 270
                },
                {
                    "x": 629,
                    "y": 270
                },
                {
                    "x": 629,
                    "y": 280
                },
                {
                    "x": 598,
                    "y": 280
                }
            ],
            "valueProb": 95
        },
        {
            "key": "大写金额",
            "keyProb": 100,
            "value": "叁佰柒拾贰圆整",
            "valuePos": [
                {
                    "x": 186,
                    "y": 287
                },
                {
                    "x": 257,
                    "y": 287
                },
                {
                    "x": 257,
                    "y": 300
                },
                {
                    "x": 186,
                    "y": 300
                }
            ],
            "valueProb": 100
        },
        {
            "key": "发票金额",
            "keyProb": 100,
            "value": "372.00",
            "valuePos": [
                {
                    "x": 472,
                    "y": 287
                },
                {
                    "x": 518,
                    "y": 287
                },
                {
                    "x": 518,
                    "y": 299
                },
                {
                    "x": 472,
                    "y": 299
                }
            ],
            "valueProb": 100
        },
        {
            "key": "销售方名称",
            "keyProb": 100,
            "value": "华住酒店管理有限公司大连分公司",
            "valuePos": [
                {
                    "x": 362,
                    "y": 88
                },
                {
                    "x": 512,
                    "y": 88
                },
                {
                    "x": 512,
                    "y": 101
                },
                {
                    "x": 362,
                    "y": 101
                }
            ],
            "valueProb": 100
        },
        {
            "key": "销售方税号",
            "keyProb": 100,
            "value": "91210202071550843F",
            "valuePos": [
                {
                    "x": 470,
                    "y": 119
                },
                {
                    "x": 613,
                    "y": 119
                },
                {
                    "x": 613,
                    "y": 135
                },
                {
                    "x": 470,
                    "y": 135
                }
            ],
            "valueProb": 100
        },
        {
            "key": "销售方地址、电话",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "销售方开户行、账号",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "收款人",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "复核人",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "开票人",
            "keyProb": 100,
            "value": "辛梦娣",
            "valuePos": [
                {
                    "x": 91,
                    "y": 385
                },
                {
                    "x": 122,
                    "y": 385
                },
                {
                    "x": 122,
                    "y": 397
                },
                {
                    "x": 91,
                    "y": 397
                }
            ],
            "valueProb": 100
        },
        {
            "key": "备注",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "标题",
            "keyProb": 100,
            "value": "电子发票(增值税专用发票)",
            "valuePos": [
                {
                    "x": 169,
                    "y": 7
                },
                {
                    "x": 442,
                    "y": 8
                },
                {
                    "x": 442,
                    "y": 34
                },
                {
                    "x": 169,
                    "y": 33
                }
            ],
            "valueProb": 100
        },
        {
            "key": "联次",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "发票类型",
            "keyProb": 100,
            "value": "数电专用发票",
            "valuePos": [
                {
                    "x": 169,
                    "y": 7
                },
                {
                    "x": 442,
                    "y": 8
                },
                {
                    "x": 442,
                    "y": 34
                },
                {
                    "x": 169,
                    "y": 33
                }
            ],
            "valueProb": 100
        },
        {
            "key": "特殊标识信息",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        },
        {
            "key": "发票详单",
            "keyProb": 100,
            "value": "[{\"货物或应税劳务、服务名称\":\"*住宿服务*住宿费\",\"规格型号\":\"\",\"单位\":\"\",\"数量\":\"1\",\"单价\":\"350.943396226415\",\"金额\":\"350.94\",\"税率\":\"6%\",\"税额\":\"21.06\"}]",
            "valueProb": 100
        },
        {
            "key": "发票代码解析",
            "keyProb": 100,
            "value": "",
            "valueProb": 100
        }
    ],
    "sid": "f0626b3869d9156bc8fc3640aba319bfe29db5b59764111e282b986b2d0ac5e9724d7263",
    "width": 660
}

下一步根据将识别结果和表单字段对应,从而返回给前端。

2. Tesseract OCR

Tesseract OCR 是一款开源的文本识别(OCR)引擎。它主要用于识别图片中的文字,并将其转换为可编辑的文本。Tesseract OCR 是目前公认最优秀、最精确的开源 OCR 系统之一。
使用 Spring Boot 框架构建 RESTful API,并集成了 Tesseract OCR 引擎进行文字识别。项目地址:

3. 利用java调用大模型进行识别

基于 LangChain 0.36.0 版本

4. 飞桨PaddleOCR

https://gitee.com/paddlepaddle/PaddleOCR
云服务器购买
linux安装conda环境:

在 Ubuntu 系统中安装 Conda 环境,你可以通过以下几个步骤来完成。Conda 是一个开源的包、依赖和环境管理器,用于安装和管理科学计算相关的软件包和库。它特别适用于 Python 编程语言,但同样可以用于其他语言。

步骤 1: 更新你的系统

首先,确保你的 Ubuntu 系统是最新的。打开终端并运行以下命令:

sudo apt update
sudo apt upgrade
步骤 2: 安装 Miniconda

Miniconda 是 Conda 的一个轻量级版本,包含了 conda、Python 和一些常用的包。你可以选择安装 Miniconda 来开始你的 Conda 环境之旅。

下载 Miniconda

访问 Miniconda 的官方网站(https://docs.conda.io/en/latest/miniconda.html)选择适合你的 Ubuntu 版本的 Miniconda 安装器。例如,对于 64 位系统,你可以使用:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

运行安装脚本

使用以下命令运行下载的安装脚本:

bash Miniconda3-latest-Linux-x86_64.sh

在运行脚本时,它会提示你阅读许可协议并询问是否接受。按 Enter 键接受许可协议,然后按 yes 确认继续安装。

初始化 Conda

按照脚本指示,运行以下命令来初始化 Conda:

source ~/.bashrc

步骤 3: 验证 Conda 安装

为了验证 Conda 是否成功安装,你可以在终端中运行以下命令:

conda --version

这应该会显示已安装的 Conda 版本号。

步骤 4: 创建和管理环境(可选)

一旦 Conda 安装完成,你可以开始创建和管理环境了。例如,创建一个新的 Python 环境:

conda create --name myenv python=3.8

激活这个环境:

conda activate myenv

安装包到特定环境中:

conda install numpy
步骤 5: 更新 Conda(可选)

为了保持你的 Conda 安装是最新的,定期运行以下命令来更新 Conda:

conda update conda

通过以上步骤,你应该能够在 Ubuntu 系统上成功安装并使用 Conda 环境。

linux进入/退出conda环境-ubuntu:

使用conda activate base可以切换到conda的基础环境。
使用conda deactivate可以退出当前激活的conda环境,回到系统的默认shell环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2377147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战案例:采集 51job 企业招聘信息

本文将带你从零开始,借助 Feapder 快速搭建一个企业级招聘信息数据管道。在“基础概念”部分,我们先了解什么是数据管道和 Feapder;“生动比喻”用日常场景帮助你快速理解爬虫组件;“技术场景”介绍本项目中如何使用代理等采集策略…

从AlphaGo到ChatGPT:AI技术如何一步步改变世界?

从AlphaGo到ChatGPT:AI技术如何一步步改变世界? 这里给大家分享一个人工智能学习网站。点击跳转到网站。 https://www.captainbed.cn/ccc 前言 在科技发展的历史长河中,人工智能(AI)技术无疑是最为璀璨的明珠之一。从…

AI 编程革命:腾讯云 CodeBuddy 如何重塑开发效率?

引言 在传统开发流程中,开发者常需依赖 SDK 文档或反复调试来获取云资源信息。而随着 AI 技术爆发式发展,腾讯云推出的 CodeBuddy 正以对话式编程颠覆这一模式 —— 只需自然语言描述需求,即可直接生成可执行代码。作为腾讯混元大模型与 Dee…

星海智算云平台部署GPT-SoVITS模型教程

背景 随着 GPT-SoVITS 在 AI 语音合成领域的广泛应用,越来越多的个人和团队开始关注这项前沿技术。你是否也在思考,如何快速、高效地部署并体验这款强大的声音克隆模型?遗憾的是,许多本地部署方案不仅配置复杂,而且对…

15:00开始面试,15:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到4月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

20250515通过以太网让VLC拉取视熙科技的机芯的rtsp视频流的步骤

20250515通过以太网让VLC拉取视熙科技的机芯的rtsp视频流的步骤 2025/5/15 20:26 缘起:荣品的PRO-RK3566适配视熙科技 的4800W的机芯。 1080p出图预览的时候没图了。 通过105的机芯出图确认 荣品的PRO-RK3566 的硬件正常。 然后要确认 视熙科技 的4800W的机芯是否出…

UE5.3 C++ 房屋管理系统(二)

三.当房屋生成成功,我们就需要把TMap里的数据存到数据库里。不然一点停止运行,就会所以数据都不见了。这里使用DataTable来存储。 1.DataTable是UE常用的表,虽然不是专门用来存档的,但也可以这么用。 DataTable表,实…

VSCode1.101.0便携版|中英文|编辑器|安装教程

软件介绍 Visual Studio Code是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,设计得很人性化,旨在为所有开发者提供一款专注于代码本身的免费的编辑器。 软件安装 1、 下载安装包…

Linux系统发布.net core程序

前端 前端用的Vue3,发布的话需要Nginx下载安装Nginx 麒麟:这里我麒麟用的是桌面版,我直接把操作流程写在下面,写的比较简单,具体的可以具体搜这一块内容学习一下。打包vue程序,通过MobaXterm将打包后的程序…

极新携手火山引擎,共探AI时代生态共建的破局点与增长引擎

在生成式AI与行业大模型的双重驱动下,人工智能正以前所未有的速度重构互联网产业生态。从内容创作、用户交互到商业决策,AI技术渗透至产品研发、运营的全链条,推动效率跃升与创新模式变革。然而,面对AI技术迭代的爆发期&#xff0…

对比 HTTP-REST 与 gRPC:各自的优缺点以及适用的场景

文章目录 对比 HTTP-REST 与 gRPC:各自的优缺点以及适用的场景HTTP-REST 与 gRPC 的核心区别gRPC 的优缺点HTTP-REST 的优缺点适用场景 模糊点什么是 Protobuf?HTTP/2 会将 HTTP 消息拆分并封装为二进制帧,那还能过使用 HTTP/2 构建 RESTful …

Git - 1( 14000 字详解 )

一: Git 初识 1.1 提出问题 在工作或学习中,我们常常会面临文档管理的问题,尤其是在编写各种文档时。为了防止文档丢失或因更改失误而无法恢复,我们常常会创建多个版本的副本,例如:“报告-v1”、“报告-v…

TCPIP详解 卷1协议 九 广播和本地组播(IGMP 和 MLD)

9.1——广播和本地组播(IGMP 和 MLD) IPv4可以使用4种IP地址:单播(unicast)、任播(anycast)、组播(multicast)和广播(broadcast)。 IPv6可以使用…

16.1 - VDMA视频转发实验之TPG

文章目录 1 实验任务2 系统框图3 硬件设计3.1 IP核配置3.2 注意事项 4 软件设计4.1 注意事项4.2 工程源码4.2.1 main.c文件 1 实验任务 基于14.1,使用Xilinx TPG(Test Pattern Generator) IP提供视频源,将视频数据通过VDMA写入PS…

cocos creator 3.8 下的 2D 改动

在B站找到的系统性cocos视频教程,纯2D开发入门,链接如下: zzehz黑马程序员6天实战游戏开发微信小程序(Cocos2d的升级版 CocosCreator JavaScript)_哔哩哔哩_bilibili黑马程序员6天实战游戏开发微信小程序(Cocos2d的升级版 CocosCreator Ja…

Unity光照笔记

问题 在做项目中遇到了播放中切换场景后地面阴影是纯黑的问题,不得不研究一下光照。先放出官方文档。 Lighting 窗口 - Unity 手册 播放中切换场景后地面阴影是纯黑 只有投到地面的阴影是纯黑的。且跳转到使用相同Terrain的场景没有问题。 相关文章&#xff1a…

嵌入式学习的第二十天-数据结构-调试+链表的一般操作

一、调试 1.一般调试 2.找段错误 二、链表的一般操作 1.单链表的修改 int ModifyLinkList(LinkList*ll,char*name,DATATYPE*data) {DATATYPE * tmp FindLinkList(ll, name);if(NULL tmp){return 1;}memcpy(tmp,data,sizeof(DATATYPE));return 0; } 2.单链表的销毁 int D…

家具制造行业的现状 质检LIMS如何赋能家具制造企业质检升级

在家具制造行业,从原木切割到成品出厂,质检环节贯穿始终 —— 木材含水率是否达标、板材甲醛释放量是否合规、涂层耐磨性能否通过标准…… 这些看似琐碎的检测项目,实则是企业把控产品品质、规避市场风险的核心关卡。传统人工质检模式在效率、…

idea整合maven环境配置

idea整合maven 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是springboot的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每个知识点,都是写出代码…

无偿帮写毕业论文(看不懂的可以私信博主)

以下教程教你如何利用相关网站和AI免费帮你写一个毕业论文。毕竟毕业论文只要过就行,脱产学习这么多年,终于熬出头了,完成毕设后有空就去多看看亲人好友,祝好! 一、找一个论文模板 废话不多说,先上干货Ov…