OCR发票识别API实现

发布于:2025-05-18 ⋅ 阅读:(18) ⋅ 点赞:(0)

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环境。

网站公告

今日签到

点亮在社区的每一天
去签到