银行单据识别(高级版)
更新时间:2025-12-26
接口描述
智能自动化识别银行回单、汇票、支票、转账凭证、支款凭证、预算拨款凭证、现金支票、现金对账单、网上银行转账记录、进账单等10类主流金融票据,精准提取关键信息并生成结构化数据。可直接返回JSON 结构化输出,支持对不同版式银行回单进行结构化识别,包括标题、付款人户名、付款人账号、付款人开户银行、付款方开户银行行号、收款人户名、收款人账号、收款人开户银行、收款方开户银行行号、大写金额、小写金额、币种、流水号、票据单号、交易日期、摘要、用途/备注 、经办人信息、经办人证件类型、经办人证件号码、经办人联系电话等21个关键字段。
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
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信息。
提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。
1curl -i -k 'https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro?access_token=【调用鉴权接口获取的token】' \
2 -H 'Content-Type: application/json' \
3--data '{
4 "url": "图片url"
5}'
1# encoding:utf-8
2
3import requests
4import base64
5import json
6
7'''
8银行单据识别(高级版)
9'''
10
11request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro"
12# 二进制方式打开图片文件
13f = open('[本地文件]', 'rb')
14img = base64.b64encode(f.read()).decode('utf-8')
15
16params = json.dumps({
17 "image": img
18})
19
20access_token = '[调用鉴权接口获取的token]'
21request_url = request_url + "?access_token=" + access_token
22headers = {'content-type': 'application/json'}
23response = requests.post(request_url, data=params, headers=headers)
24if response:
25 print(response.json())
1package com.baidu.ai.aip;
2
3import com.baidu.ai.aip.utils.Base64Util;
4import com.baidu.ai.aip.utils.FileUtil;
5import com.baidu.ai.aip.utils.HttpUtil;
6import com.google.gson.Gson;
7import java.util.HashMap;
8import java.util.Map;
9
10/**
11* 银行单据识别(高级版)
12*/
13public class BankReceiptNewPro {
14
15 /**
16 * 重要提示代码中所需工具类
17 * FileUtil,Base64Util,HttpUtil,GsonUtils请从
18 * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
19 * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
20 * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
21 * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
22 * 下载
23 */
24 public static String bankReceiptNewPro() {
25 // 请求url
26 String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/bank_receipt_new_pro";
27 try {
28 // 本地文件路径
29 String filePath = "[本地文件路径]";
30 byte[] imgData = FileUtil.readFileByBytes(filePath);
31 String imgStr = Base64Util.encode(imgData);
32
33 // 构造请求体
34 Map<String, Object> map = new HashMap<>();
35 map.put("image", imgStr); // 或者使用 url 参数
36 String param = new Gson().toJson(map);
37
38 // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
39 String accessToken = "[调用鉴权接口获取的token]";
40
41 String result = HttpUtil.post(url, accessToken, "application/json", param);
42 System.out.println(result);
43 return result;
44 } catch (Exception e) {
45 e.printStackTrace();
46 }
47 return null;
48 }
49
50 public static void main(String[] args) {
51 BankReceiptNewPro.bankReceiptNewPro();
52 }
53}
返回说明
返回参数
| 字段名 | 是否必选 | 类型 | 说明 |
|---|---|---|---|
| log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
| pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
| words_result | 是 | object{} | 识别结果对象 |
| words_result.word | 是 | string | 字段识别结果,对应以下21个字段: 1. 标题 2. 付款人户名 3. 付款人账号 4. 付款人开户银行 5. 付款方开户银行行号 6. 收款人户名 7. 收款人账号 8. 收款人开户银行 9. 收款方开户银行行号 10. 大写金额 11. 小写金额 12. 币种 13. 流水号 14. 票据单号 15. 交易日期 16. 摘要 17. 用途/备注 18. 经办人信息 19. 经办人证件类型 20. 经办人证件号码 21. 经办人联系电话 |
返回示例
Plain Text
1成功:
2
3{
4 "words_result": {
5 "付款人账号": "1109",
6 "交易日期": "2018年03月06日",
7 "用途/备注": "WBT1608001",
8 "流水号": "137454",
9 "摘要": "信息技术服务*技术服务费",
10 "付款人户名": "北京某知名知识产权代理有限公司",
11 "小写金额": "300.00",
12 "收款人账号": "1109",
13 "大写金额": "叁佰圆整",
14 "收款人户名": "北京著名网络技术有限公司",
15 "标题": "银行回单",
16 "票据单号": "1100180030",
17 "付款人开户银行": "招商银行股份有限公司北京望京支行",
18 "收款人开户银行": "招商银行建外大街支行"
19 },
20 "log_id": 2003426332382813596
21}
22失败:
23
24{
25 "log_id": 2003429428188823921,
26 "error_msg": "url format illegal",
27 "error_code": 282111
28}
