资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

银行单据识别(高级版)

接口描述

智能识别银行回单、汇票、支票、转账凭证、支款凭证、预算拨款凭证、现金支票、现金对账单、网上银行转账记录、进账单等10类银行单据票据,精准提取关键信息并返回 JSON 结构化内容。返回内容涵盖上述单据票据类型的关键字段,如:标题、付款人户名、付款人账号、付款人开户银行、付款方开户银行行号、收款人户名、收款人账号、收款人开户银行、收款方开户银行行号、大写金额、小写金额、币种、流水号、票据单号、交易日期、摘要、用途/备注 、经办人信息、经办人证件类型、经办人证件号码、经办人联系电话等。

在线调试

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

请求说明

请求示例

HTTP 方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro

URL参数:

参数
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

Header如下:

参数
Content-Type application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:

请求参数

参数 是否必选 类型 可选值范围 说明
image 和 url/pdf_file/ofd_file 四选一 string - 图像数据,base64 编码后进行 urlencode,要求 base64 编码和 urlencode 后大小不超过 10MB,最短边至少 5px,支持 jpg/jpeg/png 格式。
优先级
:image > url > pdf_file > ofd_file,当 image 字段存在时,url、pdf_file、ofd_file 字段失效。
url 和 image/pdf_file/ofd_file 四选一 string - 图片完整 url,url 长度不超过 1024 字节,url 对应的图片 base64 编码后大小不超过 10MB,最短边至少 5px,支持 jpg/jpeg/png 格式。
优先级
:image > url > pdf_file > ofd_file,当 image 字段存在时,url 字段失效。
请注意关闭 URL 防盗链。
pdf_file 和 image/url/ofd_file 四选一 string - PDF 文件,base64 编码后进行 urlencode,要求 base64 编码和 urlencode 后大小不超过 10MB,最短边至少 5px。
优先级
:image > url > pdf_file > ofd_file,当 image、url 字段存在时,pdf_file 字段失效。
pdf_file_num string - 需要识别的 PDF 文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页。
ofd_file 和 image/url/pdf_file 四选一 string - OFD 文件,base64 编码后进行 urlencode,要求 base64 编码和 urlencode 后大小不超过 10MB,最短边至少 5px。
优先级
:image > url > pdf_file > ofd_file,当 image、url、pdf_file 字段存在时,ofd_file 字段失效。
ofd_file_num string - 需要识别的 OFD 文件的对应页码,当 ofd_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页。

请求代码示例

提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

curl -i -k 'https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro?access_token=【调用鉴权接口获取的token】' \
 -H 'Content-Type: application/json' \
--data '{
    "url": "图片url"
}'
# encoding:utf-8

import requests
import base64
import json

'''
银行单据识别(高级版)
'''

request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read()).decode('utf-8')

params = json.dumps({
  "image": img
})

access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/json'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    print(response.json())
package com.baidu.ai.aip;

import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;
import com.google.gson.Gson;
import java.util.HashMap;
import java.util.Map;

/**
* 银行单据识别(高级版)
*/
public class BankReceiptNewPro {

    /**
    * 重要提示代码中所需工具类
    * FileUtil,Base64Util,HttpUtil,GsonUtils请从
    * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
    * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
    * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
    * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
    * 下载
    */
    public static String bankReceiptNewPro() {
        // 请求url
        String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro";
        try {
            // 本地文件路径
            String filePath = "[本地文件路径]";
            byte[] imgData = FileUtil.readFileByBytes(filePath);
            String imgStr = Base64Util.encode(imgData);

            // 构造请求体
            Map<String, Object> map = new HashMap<>();
            map.put("image", imgStr); // 或者使用 url 参数
            String param = new Gson().toJson(map);

            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = "[调用鉴权接口获取的token]";

            String result = HttpUtil.post(url, accessToken, "application/json", param);
            System.out.println(result);
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        BankReceiptNewPro.bankReceiptNewPro();
    }
}

返回说明

返回参数

字段名 是否必选 类型 说明
log_id uint64 唯一的log id,用于问题定位
pdf_file_size string 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段
words_result object{} 识别结果对象
+word string 字段识别结果,对应以下21个字段:
1. 标题
2. 付款人户名
3. 付款人账号
4. 付款人开户银行
5. 付款方开户银行行号
6. 收款人户名
7. 收款人账号
8. 收款人开户银行
9. 收款方开户银行行号
10. 大写金额
11. 小写金额
12. 币种
13. 流水号
14. 票据单号
15. 交易日期
16. 摘要
17. 用途/备注
18. 经办人信息
19. 经办人证件类型
20. 经办人证件号码
21. 经办人联系电话

返回示例

成功返回示例:

{
    "words_result": {
        "付款人账号": "1109",
        "交易日期": "2018年03月06日",
        "用途/备注": "WBT1608001",
        "流水号": "137454",
        "摘要": "信息技术服务*技术服务费",
        "付款人户名": "北京某知名知识产权代理有限公司",
        "小写金额": "300.00",
        "收款人账号": "1109",
        "大写金额": "叁佰圆整",
        "收款人户名": "北京著名网络技术有限公司",
        "标题": "银行回单",
        "票据单号": "1100180030",
        "付款人开户银行": "招商银行股份有限公司北京望京支行",
        "收款人开户银行": "招商银行建外大街支行"
    },
    "log_id": 2003426332382813596
}

失败返回示例:

{
    "log_id": 2003429428188823921,
    "error_msg": "url format illegal",
    "error_code": 282111
}
上一篇
银行回单识别
下一篇
医疗票据文字识别