接口说明
通用文字识别(标准版)
用户向服务请求识别某张图中的所有文字。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用通用文字识别(标准版)
res_image = client.basicGeneral(image)
res_url = client.basicGeneralUrl(url)
res_pdf = client.basicGeneralPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"
res_image = client.basicGeneral(image, options)
res_url = client.basicGeneralUrl(url, options)
res_pdf = client.basicGeneralPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
通用文字识别 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
language_type | 否 | string | CHN_ENG ENG JAP KOR FRE SPA POR GER ITA RUS |
识别语言类型,默认为CHN_ENG 可选值包括: - CHN_ENG:中英文混合 - ENG:英文 - JAP:日语 - KOR:韩语 - FRE:法语 - SPA:西班牙语 - POR:葡萄牙语 - GER:德语 - ITA:意大利语 - RUS:俄语 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | 否 | string | true/false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
paragraph | 否 | string | true/false | 是否输出段落信息 |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度 |
通用文字识别 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 识别结果数组 |
+ words | 否 | string | 识别结果字符串 |
+ probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值,当 probability=true 时返回该字段 |
paragraphs_result | 否 | array[] | 段落检测结果,当 paragraph=true 时返回该字段 |
+ words_result_idx | 否 | array[] | 一个段落包含的行序号,当 paragraph=true 时返回该字段 |
language | 否 | int32 | 当 detect_language=true 时返回该字段 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
通用文字识别 返回示例
{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
[
{"words": " TSINGTAO"},
{"words": "青島睥酒"}
]
}
通用文字识别(高精度版)
用户向服务请求识别某张图中的所有文字,相对于通用文字识别该产品精度更高,但是识别耗时会稍长。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用通用文字识别(高精度版)
res_image = client.basicAccurate(image)
res_url = client.basicAccurateUrl(url)
res_pdf = client.basicAccuratePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["detect_direction"] = "true"
options["probability"] = "true"
res_image = client.basicAccurate(image, options)
res_url = client.basicAccurateUrl(url, options)
res_pdf = client.basicAccuratePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
通用文字识别(高精度版) 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
language_type | 否 | string | auto_detect CHN_ENG ENG JAP KOR FRE SPA POR GER ITA RUS DAN DUT MAL SWE IND POL ROM TUR GRE HUN |
识别语言类型,默认为CHN_ENG 可选值包括: - auto_detect:自动检测语言,并识别 - CHN_ENG:中英文混合 - ENG:英文 - JAP:日语 - KOR:韩语 - FRE:法语 - SPA:西班牙语 - POR:葡萄牙语 - GER:德语 - ITA:意大利语 - RUS:俄语 - DAN:丹麦语 - DUT:荷兰语 - MAL:马来语 - SWE:瑞典语 - IND:印尼语 - POL:波兰语 - ROM:罗马尼亚语 - TUR:土耳其语 - GRE:希腊语 - HUN:匈牙利语 - THA:泰语 - VIE:越南语 - ARA:阿拉伯语 - HIN:印地语 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向 |
paragraph | 否 | string | true/false | 是否输出段落信息 |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度 |
通用文字识别(高精度版) 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
words_result | 是 | array[] | 识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ words | 否 | string | 识别结果字符串 |
paragraphs_result | 否 | array[] | 段落检测结果,当 paragraph=true 时返回该字段 |
+ words_result_idx | 否 | array[] | 一个段落包含的行序号,当 paragraph=true 时返回该字段 |
+ probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值,当 probability=true 时返回该字段 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
通用文字识别(高精度版) 返回示例
参考通用文字识别(标准版)返回示例
通用文字识别(标准含位置版)
用户向服务请求识别某张图中的所有文字,并返回文字在图中的位置信息。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用通用文字识别(标准含位置信息版)
res_image = client.general(image)
res_url = client.generalUrl(url)
res_pdf = client.generalPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["recognize_granularity"] = "big"
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["vertexes_location"] = "true"
options["probability"] = "true"
res_image = client.general(image, options)
res_url = client.generalUrl(url, options)
res_pdf = client.generalPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
通用文字识别(标准含位置版) 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
language_type | 否 | string | CHN_ENG ENG JAP KOR FRE SPA POR GER ITA RUS |
识别语言类型,默认为CHN_ENG 可选值包括: - CHN_ENG:中英文混合 - ENG:英文 - JAP:日语 - KOR:韩语 - FRE:法语 - SPA:西班牙语 - POR:葡萄牙语 - GER:德语 - ITA:意大利语 - RUS:俄语 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | 否 | string | true/false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
paragraph | 否 | string | true/false | 是否输出段落信息 |
vertexes_location | 否 | string | true/false | 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度 |
通用文字识别(标准含位置版) 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result | 是 | array[] | 识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ words | 否 | string | 识别结果字符串 |
+ location | 是 | array[] | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
language | 否 | int32 | 当 detect_language=true 时返回该字段 |
paragraphs_result | 否 | array[] | 段落检测结果,当 paragraph=true 时返回该字段 |
+ words_result_idx | 否 | array[] | 一个段落包含的行序号,当 paragraph=true 时返回该字段 |
++ x | 否 | uint32 | 水平坐标(坐标0点为左上角) |
++ y | 否 | uint32 | 垂直坐标(坐标0点为左上角) |
+ chars | 否 | array[] | 单字符结果,当 recognize_granularity=small 时返回该字段 |
++ char | 否 | string | 单字符识别结果,当 recognize_granularity=small 时返回该字段 |
++ location | 否 | array[] | 位置数组(坐标0点为左上角),当 recognize_granularity=small 时返回该字段 |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标,当 recognize_granularity=small 时返回该字段 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标,当 recognize_granularity=small 时返回该字段 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度,当 recognize_granularity=small 时返回该字段 |
+++ height | 否 | uint32 | 表示位置的长方形的高度,当 recognize_granularity=small 时返回该字段 |
+ probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值,当 probability=true 时返回该字段 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
通用文字识别(含位置信息版) 返回示例
{
"log_id": 3523983603,
"direction": 0, //detect_direction=true时存在
"words_result_num": 2,
"words_result": [
{
"location": {
"left": 35,
"top": 53,
"width": 193,
"height": 109
},
"words": "感动",
"chars": [ //recognize_granularity=small时存在
{
"location": {
"left": 56,
"top": 65,
"width": 69,
"height": 88
},
"char": "感"
},
{
"location": {
"left": 140,
"top": 65,
"width": 70,
"height": 88
},
"char": "动"
}
]
}
...
]
}
通用文字识别(高精度含位置版)
用户向服务请求识别某张图中的所有文字,并返回文字在图片中的坐标信息,相对于通用文字识别(含位置信息版)该产品精度更高,但是识别耗时会稍长。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用通用文字识别(高精度含位置版)
res_image = client.accurate(image)
res_url = client.accurateUrl(url)
res_pdf = client.accuratePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["recognize_granularity"] = "big"
options["detect_direction"] = "true"
options["vertexes_location"] = "true"
options["probability"] = "true"
res_image = client.accurate(image, options)
res_url = client.accurateUrl(url, options)
res_pdf = client.accuratePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
通用文字识别(高精度含位置版) 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
language_type | 否 | string | auto_detect CHN_ENG ENG JAP KOR FRE SPA POR GER ITA RUS DAN DUT MAL SWE IND POL ROM TUR GRE HUN |
识别语言类型,默认为CHN_ENG 可选值包括: - auto_detect:自动检测语言,并识别 - CHN_ENG:中英文混合 - ENG:英文 - JAP:日语 - KOR:韩语 - FRE:法语 - SPA:西班牙语 - POR:葡萄牙语 - GER:德语 - ITA:意大利语 - RUS:俄语 - DAN:丹麦语 - DUT:荷兰语 - MAL:马来语 - SWE:瑞典语 - IND:印尼语 - POL:波兰语 - ROM:罗马尼亚语 - TUR:土耳其语 - GRE:希腊语 - HUN:匈牙利语 - THA:泰语 - VIE:越南语 - ARA:阿拉伯语 - HIN:印地语 |
eng_granularity | 否 | string | word/letter | 表示识别语言类型为「中英文(CHN_ENG)」的情况下,英文的单字符结果是按照单词(word)维度输出还是字母(letter)维度输出,当 recognize_granularity=small 时生效 |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
vertexes_location | 否 | string | true/false | 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false |
paragraph | 否 | string | true/false | 是否输出段落信息 |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度 |
通用文字识别(高精度含位置版) 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
words_result | 是 | array[] | 识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ words | 否 | string | 识别结果字符串 |
+ location | 是 | array[] | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
paragraphs_result | 否 | array[] | 段落检测结果,当 paragraph=true 时返回该字段 |
+ words_result_idx | 否 | array[] | 一个段落包含的行序号,当 paragraph=true 时返回该字段 |
++ x | 否 | uint32 | 水平坐标(坐标0点为左上角) |
++ y | 否 | uint32 | 垂直坐标(坐标0点为左上角) |
+ chars | 否 | array[] | 单字符结果,当 recognize_granularity=small 时返回该字段 |
++ char | 否 | string | 单字符识别结果,当 recognize_granularity=small 时返回该字段 |
++ location | 否 | array[] | 位置数组(坐标0点为左上角),当 recognize_granularity=small 时返回该字段 |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标,当 recognize_granularity=small 时返回该字段 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标,当 recognize_granularity=small 时返回该字段 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度,当 recognize_granularity=small 时返回该字段 |
+++ height | 否 | uint32 | 表示定位位置的长方形的高度,当 recognize_granularity=small 时返回该字段 |
+ probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值,当 probability=true 时返回该字段 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
通用文字识别(含位置高精度版) 返回示例
{
"log_id": 3523983603,
"direction": 0, //detect_direction=true时存在
"words_result_num": 2,
"words_result": [
{
"location": {
"left": 35,
"top": 53,
"width": 193,
"height": 109
},
"words": "感动",
"chars": [ //recognize_granularity=small时存在
{
"location": {
"left": 56,
"top": 65,
"width": 69,
"height": 88
},
"char": "感"
},
{
"location": {
"left": 140,
"top": 65,
"width": 70,
"height": 88
},
"char": "动"
}
]
}
...
]
}
通用文字识别(含生僻字版)
【该服务已停止更新,如需更好的识别效果请使用通用文字识别(高精度版 / 高精度含位置版),此两项服务已扩充字库,可支持生僻字识别】字库范围更大,支持对图片中的生僻字进行识别
通用文字识别(含生僻字版) 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - -1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result | 是 | array() | 识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+words | 否 | string | 识别结果字符串 |
probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值 |
+ average | 否 | number | 行置信度平均值 |
+ variance | 否 | number | 行置信度方差 |
+ min | 否 | number | 行置信度最小值 |
通用文字识别(含生僻字版) 返回示例
{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
[
{"words": " TSINGTAO"},
{"words": "青島睥酒"}
]
}
网络图片文字识别
用户向服务请求识别一些网络上背景复杂,特殊字体的文字。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用网络图片文字识别
res_image = client.webImage(image)
res_url = client.webImageUrl(url)
res_pdf = client.webImagePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["detect_direction"] = "true"
options["detect_language"] = "true"
res_image = client.webImage(image, options)
res_url = client.webImageUrl(url, options)
res_pdf = client.webImagePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
网络图片文字识别 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
detect_language | 否 | string | true/false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
网络图片文字识别 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result | 是 | array[] | 定位和识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ words | 否 | string | 识别结果字符串 |
probability | 否 | object | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
网络图片文字识别 返回示例
{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
[
{"words": " TSINGTAO"},
{"words": "青島睥酒"}
]
}
身份证识别
用户向服务请求识别身份证,身份证识别包括正面和背面。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
idCardSide = "back"
# 调用身份证识别
res_image = client.idcard(image, idCardSide)
res_url = client.idcardUrl(url, idCardSide)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["detect_direction"] = "true"
options["detect_risk"] = "false"
res_image = client.idcard(image, idCardSide, options)
res_url = client.idcardUrl(url, idCardSide, options)
print(res_image)
print(res_url)
身份证识别 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
id_card_side | 是 | string | front/back | -front:身份证含照片的一面-back:身份证带国徽的一面自动检测身份证正反面,如果传参指定方向与图片相反,支持正常识别,返回参数image_status字段为"reversed_side" |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向 |
detect_risk | 否 | string | true/false | 是否开启身份证风险类型(身份证复印件、临时身份证、身份证翻拍、修改过的身份证)检测功能,默认不开启,即:false。- true:开启,请查看返回参数risk_type;- false:不开启 |
detect_quality | 否 | string | true/false | 是否开启身份证质量类型(边框/四角不完整、头像或关键字段被遮挡/马赛克)检测功能,默认不开启,即:false。- true:开启,请查看返回参数card_quality;- false:不开启 |
detect_photo | 否 | string | true/false | 是否检测头像内容,默认不检测。可选值:true-检测头像并返回头像的 base64 编码及位置信息 |
detect_card | 否 | string | true/false | 是否检测身份证进行裁剪,默认不检测。可选值:true-检测身份证并返回证照的 base64 编码及位置信息 |
身份证识别 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
image_status | 是 | string | normal-识别正常 reversed_side-身份证正反面颠倒 non_idcard-上传的图片中不包含身份证 blurred-身份证模糊 other_type_card-其他类型证照 over_exposure-身份证关键字段反光或过曝 over_dark-身份证欠曝(亮度过低) unknown-未知状态 |
risk_type | 否 | string | 输入参数 detect_risk = true 时,则返回该字段识别身份证风险类型: normal-正常身份证; copy-复印件; temporary-临时身份证; screen-翻拍; unknown-其他未知情况 |
edit_tool | 否 | string | 如果参数 detect_risk = true 时,则返回此字段。如果检测身份证被编辑过,该字段指定编辑软件名称,如:Adobe Photoshop CC 2014 (Macintosh),如果没有被编辑过则返回值无此参数 |
card_quality | 否 | object | 输入参数 detect_quality = true 时,则返回该字段识别身份证质量类型: IsClear - 是否清晰; IsComplete - 是否边框/四角完整; IsNoCover - 是否头像、关键字段无遮挡/马赛克。 及对应的概率:IsComplete_propobility、IsNoCover_propobility、IsClear_propobility,值在0-1之间,值越大表示图像质量越好。 默认阈值:当 IsComplete_propobility 超过0.5时,IsComplete返回1,低于0.5,则返回0。IsNoCover_propobility、IsClear_propobility 同上 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
photo | 否 | string | 当请求参数 detect_photo = true时返回,头像切图的 base64 编码(无编码头,需自行处理) |
photo_location | 否 | object | 当请求参数 detect_photo = true时返回,头像的位置信息(坐标0点为左上角) |
card_image | 否 | string | 当请求参数 detect_card = true时返回,身份证裁剪切图的 base64 编码(无编码头,需自行处理) |
card_location | 否 | object | 当请求参数 detect_card = true时返回,身份证裁剪切图的位置信息(坐标0点为左上角) |
idcard_number_type | 是 | string | 用于校验身份证号码、性别、出生是否一致,输出结果及其对应关系如下: - 1: 身份证正面所有字段全为空 0: 身份证证号不合法,此情况下不返回身份证证号 1: 身份证证号和性别、出生信息一致 2: 身份证证号和性别、出生信息都不一致 3: 身份证证号和出生信息不一致 4: 身份证证号和性别信息不一致 |
words_result | 是 | array[] | 定位和识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ location | 是 | array[] | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 否 | string | 识别结果字符串 |
身份证识别 返回示例
{
"log_id": 2648325511,
"direction": 0,
"image_status": "normal",
"idcard_type": "normal",
"edit_tool": "Adobe Photoshop CS3 Windows",
"words_result": {
"住址": {
"location": {
"left": 267,
"top": 453,
"width": 459,
"height": 99
},
"words": "南京市江宁区弘景大道3889号"
},
"公民身份号码": {
"location": {
"left": 443,
"top": 681,
"width": 589,
"height": 45
},
"words": "330881199904173914"
},
"出生": {
"location": {
"left": 270,
"top": 355,
"width": 357,
"height": 45
},
"words": "19990417"
},
"姓名": {
"location": {
"left": 267,
"top": 176,
"width": 152,
"height": 50
},
"words": "伍云龙"
},
"性别": {
"location": {
"left": 269,
"top": 262,
"width": 33,
"height": 52
},
"words": "男"
},
"民族": {
"location": {
"left": 492,
"top": 279,
"width": 30,
"height": 37
},
"words": "汉"
}
},
"words_result_num": 6
}
银行卡识别
识别银行卡并返回卡号和发卡行。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用银行卡识别
res_image = client.bankcard(image)
res_url = client.bankcardUrl(url)
print(res_image)
print(res_url)
银行卡识别 请求参数详情
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
image | string | 和url二选一 | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | string | 和image二选一 | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
detect_direction | string | true/false | 是否检测图像朝向,默认检测,即:true。可选值包括true - 检测朝向;false - 不检测朝向。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。 |
银行卡识别 返回数据参数详情
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
log_id | uint64 | 是 | 请求标识码,随机数,唯一。 |
direction | int32 | 否 | 图像方向,当 detect_direction = true 时,返回该参数。 - - 1:未定义;- 0:正向;- 1:逆时针90度;- 2:逆时针180度;- 3:逆时针270度 |
result | object | 是 | 返回结果 |
+ bank_card_number | string | 是 | 银行卡卡号 |
+ valid_date | string | 是 | 有效期 |
+ bank_card_type | uint32 | 是 | 银行卡类型,0:不能识别; 1:借记卡; 2:贷记卡(原信用卡大部分为贷记卡); 3:准贷记卡; 4:预付费卡 |
+ bank_name | string | 是 | 银行名,不能识别时为空 |
+ holder_name | string | 是 | 持卡人姓名,不能识别时为空 |
银行卡识别 返回示例
{
"log_id": 1447188951,
"result": {
"bank_card_number": "622500000000000",
"bank_name": "招商银行",
"bank_card_type": 1
}
}
驾驶证识别
对机动车驾驶证所有关键字段进行识别。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用驾驶证识别
res_image = client.drivingLicense(image)
res_url = client.drivingLicenseUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["detect_direction"] = "true"
res_image = client.drivingLicense(image, options)
res_url = client.drivingLicenseUrl(url, options)
print(res_image)
print(res_url)
驾驶证识别 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和image二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
detect_direction | 否 | string | true/false | - false:默认值,不检测朝向,朝向是指输入图像是正常方向、逆时针旋转90/180/270度 - true:检测朝向 |
driving_license_side | 否 | string | front/back | - front:默认值,识别驾驶证正页 - back:识别驾驶证副页 |
unified_valid_period | 否 | bool | true/false | - false: 默认值,不进行归一化处理 - true: 归一化格式输出驾驶证的「有效起始日期」+「有效期限」及「有效期限」+「至」两种输出格式归一化为「有效起始日期」+「失效日期」 |
quality_warn | 否 | string | true/false | 是否开启质量检测功能,仅在驾驶证正页识别时生效,- false:默认值,不输出质量告警信息- true: 输出驾驶证遮挡、不完整质量告警信息 |
risk_warn | 否 | string | true/false | 是否开启风险检测功能,- false:默认值,不输出风险告警信息 - true:开启,输出驾驶证复印、翻拍、PS等告警信息 |
驾驶证识别 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object | 识别结果 |
+ words | 否 | string | 识别结果字符串 |
warn_infos | 否 | array[] | 当输入参数 driving_license_side=front,且 quality_warn=true 时输出,- shield:驾驶证证照存在遮挡告警提示 - incomplete:驾驶证证照边框不完整告警提示 |
risk_type | 否 | string | 当输入参数 risk_warn=true 时返回识出的驾驶证的类型:normal-正常驾驶证;copy-复印件;screen-翻拍 |
edit_tool | 否 | string | 当输入参数 risk_warn=true 时返回,如果检测驾驶证被编辑过,该字段指定编辑软件名称,如:Adobe Photoshop CC 2014 (Macintosh),如果没有被编辑过则返回值为空 |
返回示例(驾驶证正页)
{
"words_result": {
"姓名": {
"words": "王桃桃"
},
"至": {
"words": "20210518"
},
"出生日期": {
"words": "19880929"
},
"证号": {
"words": "210282198809294228"
},
"住址": {
"words": "辽宁省大连市甘井子区"
},
"初次领证日期": {
"words": "20150518"
},
"国籍": {
"words": "中国"
},
"准驾车型": {
"words": "C1"
},
"性别": {
"words": "女"
},
"有效期限": {
"words": "20150518"
},
"发证单位": {
"words": "北京市公安局公安交通管理局"
}
"log_id": 1321746413993852928,
"words_result_num": 11,
"direction": -1
}
返回示例(驾驶证副页)
{
"words_result": {
"姓名": {
"words": "万万"
},
"记录": {
"words": "请于每个记分周期结束后三十日接受审验。无记分的,免予本次审验。"
},
"证号": {
"words": "513601198209290000"
},
"档案编号": {
"words": "511600001169"
}
},
"direction": 0,
"words_result_num": 4,
"log_id": 1483000040398531214
}
行驶证识别
对机动车行驶证正本所有关键字段进行识别。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用行驶证识别
res_image = client.vehicleLicense(image)
res_url = client.vehicleLicenseUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["detect_direction"] = "true"
options["accuracy"] = "normal"
res_image = client.vehicleLicense(image, options)
res_url = client.vehicleLicenseUrl(url, options)
print(res_image)
print(res_url)
行驶证识别 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和image二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
detect_direction | 否 | string | true/false | - false:默认值不进行图像方向自动矫正 - true: 开启图像方向自动矫正功能,可对旋转 90/180/270 度的图片进行自动矫正并识别 |
vehicle_license_side | 否 | string | front/back | - front:默认值,识别行驶证主页- back:识别行驶证副页 |
unified | 否 | string | true/false | - false:默认值,不进行归一化处理- true:对输出字段进行归一化处理,将新/老版行驶证的“注册登记日期/注册日期”统一为”注册日期“进行输出 |
quality_warn | 否 | string | true/false | 是否开启质量检测功能,仅在行驶证正页识别时生效,- false:默认值,不输出质量告警信息- true: 输出行驶证遮挡、不完整质量告警信息 |
risk_warn | 否 | string | true/false | 是否开启风险检测功能,- false:默认值,不输出风险告警信息 - true:开启,输出行驶证复印、翻拍、PS等告警信息 |
行驶证识别 返回数据参数详情
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object | 识别结果 |
+ words | 否 | string | 识别结果字符串 |
warn_infos | 否 | array[] | 当输入参数 vehicle_license_side=front,且 quality_warn=true 时输出,- shield:行驶证证照存在遮挡告警提示 - incomplete:行驶证证照边框不完整告警提示 |
risk_type | 否 | string | 当输入参数 risk_warn=true 时返回识出的行驶证的类型:normal-正常行驶证;copy-复印件;screen-翻拍 |
edit_tool | 否 | string | 当输入参数 risk_warn=true 时返回,如果检测行驶证被编辑过,该字段指定编辑软件名称,如:Adobe Photoshop CC 2014 (Macintosh),如果没有被编辑过则返回值为空 |
行驶证识别 返回示例
{
"errno": 0,
"msg": "success",
"data": {
"words_result_num": 10,
"words_result": {
"品牌型号": {
"words": "保时捷GT37182RUCRE"
},
"发证日期": {
"words": "20160104"
},
"使用性质": {
"words": "非营运"
},
"发动机号码": {
"words": "20832"
},
"号牌号码": {
"words": "苏A001"
},
"所有人": {
"words": "圆圆"
},
"住址": {
"words": "南京市江宁区弘景大道"
},
"注册日期": {
"words": "20160104"
},
"车辆识别代号": {
"words": "HCE58"
},
"车辆类型": {
"words": "小型轿车"
}
}
}
}
车牌识别
识别机动车车牌,并返回号牌号码和车牌颜色。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用车牌识别
res_image = client.licensePlate(image)
res_url = client.licensePlateUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["multi_detect"] = "true"
res_image = client.licensePlate(image, options)
res_url = client.licensePlateUrl(url, options)
print(res_image)
print(res_url)
车牌识别 请求参数详情
参数名称 | 是否必选 | 类型 | 可选值范围 | 默认值 | 说明 |
---|---|---|---|---|---|
image | 是 | string | 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 | ||
multi_detect | 否 | string | true false |
false | 是否检测多张车牌,默认为false,当置为true的时候可以对一张图片内的多张车牌进行识别 |
车牌识别 返回数据参数详情
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
log_id | uint64 | 是 | 请求标识码,随机数,唯一。 |
Color | string | 是 | 车牌颜色 |
number | string | 是 | 车牌号码 |
车牌识别 返回示例
{
"log_id": 3583925545,
"words_result": {
"color": "blue",
"number": "苏HS7766"
}
}
营业执照识别
识别营业执照,并返回关键字段的值,包括单位名称、法人、地址、有效期、证件编号、社会信用代码等。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用营业执照识别
res_image = client.businessLicense(image)
res_url = client.businessLicenseUrl(url)
print(res_image)
print(res_url)
营业执照识别 请求参数详情
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
image | string | 和url二选一 | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | string | 和image二选一 | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
detect_direction | string | 否 | 此参数新版本无需传,支持自动检测图像旋转角度;朝向是指输入图像是正常方向、逆时针旋转90/180/270度 |
accuracy | string | 否 | 此参数新版本无需传,可选值:normal,high |
risk_warn | string | 否 | 是否开启风险类型功能,默认不开启,即:false。- false:不开启 - true:开启 |
营业执照识别 返回数据参数详情
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 请求标识码,随机数,唯一。 |
direction | 否 | uint32 | 图像方向,当图像旋转时,返回该参数。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
risk_type | 否 | string | 当输入参数 risk_warn=true 时返回识出的营业执照的类型:normal-正常营业执照;copy-复印件;screen-翻拍;scan-扫描 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object | 识别结果 |
+ location | 是 | object | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 否 | string | 识别结果字符串 |
营业执照识别 返回示例
{
"log_id": 490058765,
"words_result": {
"单位名称": {
"location": {
"left": 500,
"top": 479,
"width": 618,
"height": 54
},
"words": "袁氏财团有限公司"
},
"法人": {
"location": {
"left": 938,
"top": 557,
"width": 94,
"height": 46
},
"words": "袁运筹"
},
"地址": {
"location": {
"left": 503,
"top": 644,
"width": 574,
"height": 57
},
"words": "江苏省南京市中山东路19号"
},
"有效期": {
"location": {
"left": 779,
"top": 1108,
"width": 271,
"height": 49
},
"words": "2015年02月12日"
},
"证件编号": {
"location": {
"left": 1219,
"top": 357,
"width": 466,
"height": 39
},
"words": "苏餐证字(2019)第666602666661号"
},
"社会信用代码": {
"location": {
"left": 0,
"top": 0,
"width": 0,
"height": 0
},
"words": "无"
}
},
"words_result_num": 6
}
通用票据识别
用户向服务请求识别医疗票据、增值税发票、出租车票、保险保单等票据类图片中的所有文字,并返回文字在图中的位置信息。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用通用票据识别
res_image = client.receipt(image)
res_url = client.receiptUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["recognize_granularity"] = "big"
options["probability"] = "true"
options["accuracy"] = "normal"
options["detect_direction"] = "true"
res_image = client.receipt(image, options)
res_url = client.receiptUrl(url, options)
print(res_image)
print(res_url)
通用票据识别 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度 |
accuracy | 否 | string | normal/缺省 | normal:使用快速服务;缺省或其它值:使用高精度服务 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。可选值包括:- true:检测朝向;- false:不检测朝向,朝向是指输入图像是正常方向、逆时针旋转90/180/270度 |
通用票据识别 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 定位和识别结果数组 |
+ location | 是 | object{} | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 是 | string | 识别结果字符串 |
+ chars | 否 | array[] | 单字符结果,recognize_granularity=small 时存在 |
++ char | 否 | string | 单字符识别结果 |
++ location | 否 | object{} | 位置数组(坐标0点为左上角) |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 否 | uint32 | 表示位置的长方形的高度 |
+ probability | 否 | float | 识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值 |
通用票据识别 返回示例
{
"log_id": 2661573626,
"words_result": [
{
"location": {
"left": 10,
"top": 3,
"width": 121,
"height": 24
},
"words": "姓名:小明明",
"chars": [
{
"location": {
"left": 16,
"top": 6,
"width": 17,
"height": 20
},
"char": "姓"
}
...
]
},
{
"location": {
"left": 212,
"top": 3,
"width": 738,
"height": 24
},
"words": "卡号/病案号:105353990标本编号:150139071送检科室:血液透析门诊病房",
"chars": [
{
"location": {
"left": 218,
"top": 6,
"width": 18,
"height": 21
},
"char": "卡"
}
...
]
}
],
"words_result_num": 2
}
自定义模板文字识别
自定义模板文字识别,是针对百度官方没有推出相应的模板,但是当用户需要对某一类卡证/票据(如房产证、军官证、火车票等)进行结构化的提取内容时,可以使用该产品快速制作模板,进行识别。
# 读取图片
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('aa.jpg')
# 必填参数
options = {}
# key固定为templateSign 后面给页面提供的 模板ID(templateSign) 的值即可
options["templateSign"] = ""
# 调用自定义模板文字识别
res_image = client.custom(image, options)
print(res_image)
自定义模板文字识别 请求参数详情
参数名称 | 是否必选 | 类型 | 说明 |
---|---|---|---|
image | 是 | string | 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式 |
options | 是 | object | 用于传入额外参数,如templateSign、classifierId |
+ templateSign | 否 | string | 您在自定义文字识别平台制作的模板的ID |
+ classifierId | 否 | string | 分类器Id。这个参数和templateSign至少存在一个,优先使用templateSign。存在templateSign时,表示使用指定模板;如果没有templateSign而有classifierId,表示使用分类器去判断使用哪个模板 |
自定义模板文字识别 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
error_code | number | number | 0代表成功,如果有错误码返回可以参考下方错误码列表排查问题 |
error_msg | 是 | string | 具体的失败信息,可以参考下方错误码列表排查问题 |
data | jsonObject | 识别返回的结果 |
自定义模板文字识别 返回示例
{
"isStructured": true,
"ret": [
{
"charset": [
{
"rect": {
"top": 183,
"left": 72,
"width": 14,
"height": 28
},
"word": "5"
},
{
"rect": {
"top": 183,
"left": 90,
"width": 14,
"height": 28
},
"word": "4"
},
{
"rect": {
"top": 183,
"left": 103,
"width": 15,
"height": 28
},
"word": "."
},
{
"rect": {
"top": 183,
"left": 116,
"width": 14,
"height": 28
},
"word": "5"
},
{
"rect": {
"top": 183,
"left": 133,
"width": 19,
"height": 28
},
"word": "元"
}
],
"word_name": "票价",
"word": "54.5元"
},
{
"charset": [
{
"rect": {
"top": 144,
"left": 35,
"width": 14,
"height": 28
},
"word": "2"
},
{
"rect": {
"top": 144,
"left": 53,
"width": 14,
"height": 28
},
"word": "0"
},
{
"rect": {
"top": 144,
"left": 79,
"width": 14,
"height": 28
},
"word": "1"
},
{
"rect": {
"top": 144,
"left": 97,
"width": 14,
"height": 28
},
"word": "7"
}
]
]
}
试卷分析与识别
可对文档版面进行分析,输出图、表、标题、文本的位置,并输出分版块内容的OCR识别结果,支持中、英两种语言,手写、印刷体混排多种场景。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用试卷分析与识别
res_image = client.docAnalysis(image)
res_url = client.docAnalysisUrl(url)
res_pdf = client.docAnalysisPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
识别结果 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
language_type | 否 | string | CHN_ENG/ ENG | 识别语言类型,默认为CHN_ENG 可选值包括: = CHN_ENG:中英文 = ENG:英文 |
result_type | 否 | string | big/small | 返回识别结果是按单行结果返回,还是按单字结果返回,默认为big。 = big:返回行识别结果 = small:返回行识别结果之上还会返回单字结果 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。其中, 0 :正向 1:逆时针旋转90度 2:逆时针旋转180度 3:逆时针旋转270度 |
line_probability | 否 | string | true/false | 是否返回每行识别结果的置信度。默认为false |
words_type | 否 | string | handwring_only/ handprint_mix | 文字类型。 默认:印刷文字识别 = handwring_only:手写文字识别 = handprint_mix: 手写印刷混排识别 |
layout_analysis | 否 | string | true/false | 是否分析文档版面:包括图、表、标题、段落的分析输出 |
识别结果 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
img_direction | 否 | int32 | detect_direction=true 时返回。检测到的图像朝向,0 :正向; 1:逆时针旋转90度;2:逆时针旋转180度;3:逆时针旋转270度 |
results_num | 是 | uint32 | 识别结果数,表示results的元素个数 |
results | 是 | array[] | 识别结果数组 |
+ words_type | 是 | string | 文字属性(手写、印刷),handwriting 手写,print 印刷 |
+ words | 是 | array[] | 整行的识别结果数组。 |
++ line_probability | 否 | array[] | line_probability=true 时返回。识别结果中每一行的置信度值,包含average:行置信度平均值,min:行置信度最小值 |
+++ average | 否 | float | 行置信度 |
+++ min | 否 | float | 整行中单字的最低置信度 |
++ word | 是 | float | 整行的识别结果 |
++ words_location | 是 | array[] | 整行的矩形框坐标。位置数组(坐标0点为左上角) |
+++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 是 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 是 | uint32 | 表示位置的长方形的高度 |
+ chars | 否 | array[] | result_type=small 时返回。单字符结果数组 |
++ char | 否 | string | result_type=small 时返回。每个单字的内容 |
++ chars_location | 否 | array[] | 每个单字的矩形框坐标。位置数组(坐标0点为左上角) |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 否 | uint32 | 表示位置的长方形的高度 |
layouts_num | 否 | uint32 | 版面分析结果数,表示layout的元素个数 |
layouts | 否 | array[] | 文档版面信息数组,包含表格、图、段落文本、标题等标签;标签的坐标位置;段落文本和表格内文本内容对应的行序号ID |
+ layout | 否 | string | 版面分析的标签结果。表格:table, 图:figure, 文本:text, 标题:title |
+ layout_location | 否 | array[] | 文档版面信息标签的位置,四个顶点: 左上,右上,右下,左下 |
++ x | 否 | uint32 | 水平坐标(坐标0点为左上角) |
++ y | 否 | uint32 | 水平坐标(坐标0点为左上角) |
+ layout_idx | 否 | array[] | 文档版面信息中的文本在results结果中的位置:版面文本标签对应的行序号ID为n,则此标签中的文本在results结果中第n+1条展示) |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
仪器仪表盘读数识别
适用于不同品牌、不同型号的仪器仪表盘读数识别,广泛适用于各类血糖仪、血压仪、燃气表、电表等,可识别表盘上的数字、英文、符号,支持液晶屏、字轮表等表型。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
# 调用仪器仪表盘读数识别
res_image = client.meter(image)
res_url = client.meterUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options={}
options['poly_location']='true'
res_image = client.meter(image, options)
res_url = client.meterUrl(url, options)
print(res_image)
print(res_url)
识别结果 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px。支持jpg/jpeg/png/bmp格式.注意:图片的base64编码是不包含图片头的,如(data:image/jpg;base64,) |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
probability | 否 | string | true/false | 是否返回每行识别结果的置信度。默认为false |
poly_location | 否 | string | true/false | 位置信息返回形式,默认:false false:只给出识别结果所在长方形位置信息 true:除了默认的识别文字所在长方形的位置信息,还会给出文字所在区域的最小外接旋转矩形的4个点坐标信息 |
识别结果 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result | 是 | array[] | 识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ words | 是 | string | 识别结果字符串 |
+ location | 是 | array[] | 识别结果所在长方形位置信息 |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ probability | 否 | string | probability=true 时存在。识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值 |
+ poly_location | 否 | array[] | poly_location=true 时存在。文字所在区域的外接四边形的4个点坐标信息 |
返回示例
{
"log_id": "1392680790663364608",
"words_result_num": 5
"words_result": [
{
"words": "5.8",
"location": {
"top": 150,
"left": 370,
"width": 87,
"height": 79
}
},
{
"words": "mmol/L",
"location": {
"top": 241,
"left": 402,
"width": 52,
"height": 12
}
},
{
"words": "10:38",
"location": {
"top": 115,
"left": 347,
"width": 42,
"height": 21
}
},
{
"words": "12-11",
"location": {
"top": 116,
"left": 410,
"width": 36,
"height": 20
}
},
{
"words": "am",
"location": {
"top": 115,
"left": 391,
"width": 12,
"height": 5
}
}
],
}
网络图片文字识别(含位置版)
支持识别艺术字体或背景复杂的文字内容,除文字信息外,还可返回每行文字的位置信息、行置信度,以及单字符内容和位置等。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用网络图片文字识别(含位置版)
res_image = client.webimageLoc(image)
res_url = client.webimageLocUrl(url)
res_pdf = client.webimageLocPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options['probability']='true'
res_image = client.webimageLoc(image, options)
res_url = client.webimageLocUrl(url, options)
res_pdf = client.webimageLocPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
网络图片文字识别(含位置版) 请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向 |
probability | 否 | string | true/false | 是否返回每行识别结果的置信度。默认为false |
poly_location | 否 | string | true/false | 是否返回文字所在区域的外接四边形的4个点坐标信息。默认为false |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
识别结果 返回数据参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。检测到的图像朝向: - - 1:未定义; - 0 :正向; - 1:逆时针旋转90度; - 2:逆时针旋转180度; - 3:逆时针旋转270度 |
words_result | 是 | array[] | 识别结果数组 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ words | 是 | string | 整行的识别结果 |
+ location | 是 | object | 整行的矩形框坐标。位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ probability | 否 | string | 当 probability=true 时返回该字段。识别结果中每一行的置信度值,包含average:行置信度平均值,variance:行置信度方差,min:行置信度最小值 |
+ poly_location | 否 | array[] | 当 probability=true 时返回该字段。文字所在区域的外接矩形的4个点坐标信息 |
++ x | 否 | uint32 | 水平坐标(坐标0点为左上角) |
++ y | 否 | uint32 | 垂直坐标(坐标0点为左上角) |
+ chars | 否 | array[] | 单字符结果,当 recognize_granularity=small 时返回该字段 |
++ char | 否 | string | 单字符识别结果 |
++ location | 否 | object | 每个单字的矩形框坐标。位置数组(坐标0点为左上角) |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 否 | uint32 | 表示定位定位位置的长方形的高度 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例 |
{
"log_id": 1390656223866519552,
"words_result_num": 3,
"words_result": [
{
"words": "梦想起航",
"location": {
"top": 328,
"left": 1079,
"width": 56,
"height": 262
},
},
{
"words": "前往下一个目的地",
"location": {
"top": 329,
"left": 1160,
"width": 63,
"height": 446
},
},
{
"words": "开始新的旅程",
"location": {
"top": 455,
"left": 1246,
"width": 63,
"height": 340
},
}
],
}
增值税发票识别
支持对增值税普票、专票、卷票、电子发票、区块链发票的所有字段进行结构化识别,包括发票基本信息、销售方及购买方信息、商品信息、价税信息等,其中五要素识别准确率超过 99.9%; 同时,支持对增值税卷票的 21 个关键字段进行识别,包括发票类型、发票代码、发票号码、机打号码、机器编号、收款人、销售方名称、销售方纳税人识别号、开票日期、购买方名称、购买方纳税人识别号、项目、单价、数量、金额、税额、合计金额(小写)、合计金额(大写)、校验码、省、市,四要素平均识别准确率可达95%以上。
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content('example.jpg')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用增值税发票识别
res_image = client.vatInvoice(image)
res_url = client.vatInvoiceUrl(url)
res_pdf = client.vatInvoicePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options['type']='roll'
res_image = client.vatInvoice(image, options)
res_url = client.vatInvoiceUrl(url, options)
res_pdf = client.vatInvoicePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
type | 否 | string | normal/roll | 进行识别的增值税发票类型,默认为 normal,可缺省- normal:可识别增值税普票、专票、电子发票- roll:可识别增值税卷票 |
返回参数 |
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果 |
+ ServiceType | 是 | string | 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他 |
+ InvoiceType | 是 | string | 发票种类。不同类型发票输出:普通发票、专用发票、电子普通发票、电子专用发票、通行费电子普票、区块链发票、通用机打电子发票 |
+ InvoiceTypeOrg | 是 | string | 发票名称 |
+ InvoiceCode | 是 | string | 发票代码 |
+ InvoiceNum | 是 | string | 发票号码 |
+ InvoiceCodeConfirm | 是 | string | 发票代码的辅助校验码,一般业务情景可忽略 |
+ InvoiceNumConfirm | 是 | string | 发票号码的辅助校验码,一般业务情景可忽略 |
+ MachineNum | 是 | string | 机打号码。仅增值税卷票含有此参数 |
+ MachineCode | 是 | string | 机器编号。仅增值税卷票含有此参数 |
+ CheckCode | 是 | string | 校验码。增值税专票无此参数 |
+ InvoiceDate | 是 | string | 开票日期 |
+ PurchaserName | 是 | string | 购方名称 |
+ PurchaserRegisterNum | 是 | string | 购方纳税人识别号 |
+ PurchaserAddress | 是 | string | 购方地址及电话 |
+ PurchaserBank | 是 | string | 购方开户行及账号 |
+ Password | 是 | string | 密码区 |
+ Province | 是 | string | 省 |
+ City | 是 | string | 市 |
+ SheetNum | 是 | string | 联次信息。专票第一联到第三联分别输出:第一联:记账联、第二联:抵扣联、第三联:发票联;普通发票第一联到第二联分别输出:第一联:记账联、第二联:发票联 |
+ Agent | 是 | string | 是否代开 |
+ CommodityName | 是 | array[] | 货物名称 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityType | 是 | array[] | 规格型号 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityUnit | 是 | array[] | 单位 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityNum | 是 | array[] | 数量 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityPrice | 是 | array[] | 单价 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityAmount | 是 | array[] | 金额 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityTaxRate | 是 | array[] | 税率 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityTax | 是 | array[] | 税额 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityPlateNum | 是 | array[] | 车牌号。仅通行费增值税电子普通发票含有此参数 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityVehicleType | 是 | array[] | 类型。仅通行费增值税电子普通发票含有此参数 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityStartDate | 是 | array[] | 通行日期起。仅通行费增值税电子普通发票含有此参数 |
++ row | 是 | uint33 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityEndDate | 是 | array[] | 通行日期止。仅通行费增值税电子普通发票含有此参数 |
++ row | 是 | uint33 | 行号 |
++ word | 是 | string | 内容 |
+ OnlinePay | 是 | String | 电子支付标识。仅区块链发票含有此参数 |
+ SellerName | 是 | string | 销售方名称 |
+ SellerRegisterNum | 是 | string | 销售方纳税人识别号 |
+ SellerAddress | 是 | string | 销售方地址及电话 |
+ SellerBank | 是 | string | 销售方开户行及账号 |
+ TotalAmount | 是 | uint32 | 合计金额 |
+ TotalTax | 是 | uint32 | 合计税额 |
+ AmountInWords | 是 | string | 价税合计(大写) |
+ AmountInFiguers | 是 | uint32 | 价税合计(小写) |
+ Payee | 是 | string | 收款人 |
+ Checker | 是 | string | 复核 |
+ NoteDrawer | 是 | string | 开票人 |
+ Remarks | 是 | string | 备注 |
返回示例
{
"log_id": "5425496231209218858",
"words_result_num": 29,
"words_result": {
"InvoiceNum": "14641426",
"SellerName": "上海易火广告传媒有限公司",
"CommodityTaxRate": [
{
"word": "6%",
"row": "1"
}
],
"SellerBank": "中国银行南翔支行446863841354",
"Checker": ":沈园园",
"TotalAmount": "94339.62",
"CommodityAmount": [
{
"word": "94339.62",
"row": "1"
}
],
"InvoiceDate": "2016年06月02日",
"CommodityTax": [
{
"word": "5660.38",
"row": "1"
}
],
"PurchaserName": "百度时代网络技术(北京)有限公司",
"CommodityNum": [
{
"word": "",
"row": "1"
}
],
"Province": "上海",
"City": "",
"SheetNum": "第三联",
"Agent": "否",
"PurchaserBank": "招商银行北京分行大屯路支行8661820285100030",
"Remarks": "告传",
"Password": "074/45781873408>/6>8>65*887676033/51+<5415>9/32--852>1+29<65>641-5>66<500>87/*-34<943359034>716905113*4242>",
"SellerAddress": ":嘉定区胜辛南路500号15幢1161室55033753",
"PurchaserAddress": "北京市海淀区东北旺西路8号中关村软件园17号楼二属A2010-59108001",
"InvoiceCode": "3100153130",
"CommodityUnit": [
{
"word": "",
"row": "1"
}
],
"Payee": ":徐蓉",
"PurchaserRegisterNum": "110108787751579",
"CommodityPrice": [
{
"word": "",
"row": "1"
}
],
"NoteDrawer": "沈园园",
"AmountInWords": "壹拾万圆整",
"AmountInFiguers": "100000.00",
"TotalTax": "5660.38",
"InvoiceType": "专用发票",
"SellerRegisterNum": "913101140659591751",
"CommodityName": [
{
"word": "信息服务费",
"row": "1"
}
],
"CommodityType": [
{
"word": "",
"row": "1"
}
]
}
}
出租车票识别
支持识别全国各大城市出租车票的 16 个关键字段,包括发票号码、代码、车号、日期、总金额、燃油附加费、叫车服务费、省、市、单价、里程、上车时间、下车时间等。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https//www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用出租车票识别
res_image = client.taxiReceipt(image)
res_url = client.taxiReceiptUrl(url)
res_pdf = client.taxiReceiptPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options['pdf_file_num'] = '1'
res_image = client.taxiReceipt(image, options)
res_url = client.taxiReceiptUrl(url, options)
res_pdf = client.taxiReceiptPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必须 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
返回参数 |
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 请求标识码,随机数,唯一。 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果数组 |
+ InvoiceCode | 是 | string | 发票代号 |
+ InvoiceNum | 是 | string | 发票号码 |
+ TaxiNum | 是 | string | 车牌号 |
+ Date | 是 | string | 日期 |
+ Time | 是 | string | 上下车时间 |
+ PickupTime | 是 | string | 上车时间 |
+ DropoffTime | 是 | string | 下车时间 |
+ Fare | 是 | string | 金额 |
+ FuelOilSurcharge | 是 | string | 燃油附加费 |
+ CallServiceSurcharge | 是 | string | 叫车服务费 |
+ TotalFare | 是 | string | 总金额 |
+ Location | 是 | string | 开票城市 |
+ Province | 是 | string | 省 |
+ City | 是 | string | 市 |
+ PricePerkm | 是 | string | 单价 |
+ Distance | 是 | string | 里程 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
{
"log_id":2034039896,
"words_result_num":6,
"words_result":
{
"Date":"2017-11-26",
"Fare":"¥153.30元",
"InvoiceCode":"111001681009",
"InvoiceNum":"90769610",
"TaxiNum":"BV2062",
"Time":"20:42-21:07",
"FuelOilSurcharge": "¥0.00",
"CallServiceSurcharge": "¥0.00",
"Province": "浙江省",
"City": "杭州市",
"PricePerkm": "2.50元/KM",
"Distance": "4.5KM"
}
}
VIN码识别
支持对车辆挡风玻璃处的车架号码进行识别。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用VIN码识别
res_image = client.vinCode(image)
res_url = client.vinCodeUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options={}
res_image = client.vinCode(image, options)
res_url = client.vinCodeUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | int | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 定位和识别结果数组 |
+ location | 是 | object | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 是 | string | VIN码识别结果 |
返回示例
{
"log_id": 246589877,
"words_result": [
{
"location": {
"left": 124,
"top": 11,
"width": 58,
"height": 359
},
"words": "LFV2A11K8D4010942"
}
],
"words_result_num": 1
}
火车票识别
支持对红、蓝火车票的13个关键字段进行结构化识别,包括车票号码、始发站、目的站、车次、日期、票价、席别、姓名、座位号、身份证号、售站、序列号、时间。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https//www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用火车票识别
res_image = client.trainTicket(image)
res_url = client.trainTicketUrl(url)
res_pdf = client.trainTicketPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
res_image = client.trainTicket(image, options)
res_url = client.trainTicketUrl(url, options)
res_pdf = client.trainTicketPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必须 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
返回参数 |
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 请求标识码,唯一,用于调用失败后进行问题定位 |
direction | 是 | int32 | 图像方向- 0:正向,- 1:逆时针90度,- 2:逆时针180度,- 3:逆时针270度 |
words_result | 是 | object{} | 识别结果 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ ticket_num | 是 | string | 车票号 |
+ starting_station | 是 | string | 始发站 |
+ train_num | 是 | string | 车次号 |
+ destination_station | 是 | string | 到达站 |
+ date | 是 | string | 出发日期 |
+ ticket_rates | 是 | string | 车票金额 |
+ seat_category | 是 | string | 席别 |
+ name | 是 | string | 乘客姓名 |
+ id_num | 是 | string | 身份证号 |
+ serial_number | 是 | string | 序列号 |
+ sales_station | 是 | string | 售站 |
+ time | 是 | string | 时间 |
+ seat_num | 是 | string | 座位号 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例 |
{
"log_id": "12317512659",
"direction": 1,
"words_result_num": 13,
"words_result": {
"id_num": "2302051998****156X",
"name": "裴一丽",
"ticket_rates": "¥54.5元",
"destination_station": "天津站",
"seat_category": "二等座",
"sales_station": "北京南",
"ticket_num": "F05706",
"seat_num": "02车03C号",
"time": "09:36",
"date": "2019年04月03日",
"serial_number": "10010300067846",
"train_num": "C255",
"starting_station": "北京南站"
}
}
数字识别
对图片中的数字进行提取和识别,自动过滤非数字内容,仅返回数字内容及其位置信息,识别准确率超过99%。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用数字识别
res_image = client.numbers(image)
res_url = client.numbersUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options={}
options['recognize_granularity']='small'
res_image = client.numbers(image, options)
res_url = client.numbersUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。 可选值包括- true:检测朝向;- false:不检测朝向 |
返回说明
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 定位和识别结果数组 |
+ location | 是 | object | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 是 | string | 识别结果字符串 |
+ chars | 否 | array[] | 单字符结果,当 recognize_granularity=small 时返回该字段 |
++ char | 否 | string | 单字符识别结果 |
++ location | 否 | object | 位置数组(坐标0点为左上角) |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 否 | uint32 | 表示位置的长方形的高度 |
返回示例
{
"log_id": 620759800,
"words_result": [
{
"location": {
"left": 56,
"top": 0,
"width": 21,
"height": 210
},
"words": "3"
}
],
"words_result_num": 1
}
飞机行程单识别
支持对飞机行程单的24个字段进行结构化识别,包括电子客票号、印刷序号、姓名、始发站、目的站、航班号、日期、时间、票价、身份证号、承运人、民航发展基金、保险费、燃油附加费、其他税费、合计金额、填开日期、订票渠道、客票级别、座位等级、销售单位号、签注、免费行李、验证码。 同时,支持单张行程单上的多航班信息识别。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https//www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用飞机行程单识别
res_image = client.airTicket(image)
res_url = client.airTicketUrl(url)
res_pdf = client.airTicketPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options["multi_detect"] = "false"
res_image = client.airTicket(image, options)
res_url = client.airTicketUrl(url, options)
res_pdf = client.airTicketPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
multi_detect | 否 | string | true/false | 控制是否开启多航班信息识别功能,默认值:false- true:开启多航班信息识别功能,开启后返回结果中对应字段格式将改为数组类型- false: 不开启,仅识别单一航班信息 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果 |
+ name | 是 | string | 姓名 |
+ starting_station | 是 | string | 始发站 |
+ destination_station | 是 | string | 目的站 |
+ flight | 是 | string | 航班号 |
+ date | 是 | string | 日期 |
+ ticket_number | 是 | string | 电子客票号码 |
+ fare | 是 | string | 票价 |
+ dev_fund | 是 | string | 民航发展基金/基建费 |
+ fuel_surcharge | 是 | string | 燃油附加费 |
+ other_tax | 是 | string | 其他税费 |
+ ticket_rates | 是 | string | 合计金额 |
+ issued_date | 是 | string | 填开日期 |
+ id_num | 是 | string | 身份证号 |
+ carrier | 是 | string | 承运人 |
+ time | 是 | string | 时间 |
+ issued_by | 是 | string | 订票渠道 |
+ serial_number | 是 | string | 印刷序号 |
+ insurance | 是 | string | 保险费 |
+ fare_basis | 是 | string | 客票级别 |
+ class | 是 | string | 座位等级 |
+ agent_code | 是 | string | 销售单位号 |
+ endorsement | 是 | string | 签注 |
+ allow | 是 | string | 免费行李 |
+ ck | 是 | string | 验证码 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
// 识别单航班信息(multi_detect=false,或参数缺省)
{
"log_id": 7306800033425229106,
"direction": 0,
"words_result_num": 18,
"words_result": {
"insurance": "20.00",
"date": "2019-10-22",
"allow": "20K",
"flight": "CA6589",
"issued_by": "中国国际航空服务有限公司",
"starting_station": "武汉",
"fare": "260.00",
"endorsement": "不得签转改期退转",
"ticket_rates": "350.00",
"ck": "5866",
"serial_number": "51523588676",
"ticket_number": "7843708871196",
"fuel_surcharge": "EXEMPT",
"carrier": "南航",
"issued_date": "2019-10-30",
"other_tax": "",
"fare_basis": "NREOW",
"id_num": "411201123909020877",
"destination_station": "合肥",
"name": "郭达",
"agent_code": "BJS19197300025",
"time": "21:25",
"class": "N",
"dev_fund": "50.00"
}
}
// 识别多航班信息(multi_detect=true)
{
"words_result": {
"log_id": "1280814270572920832",
"words_result_num": 18
"insurance": [
{
"word": "XXX"
}
],
"date": [
{
"word": "2019-10-18"
},
{
"word": "2019-10-21"
}
],
"flight": [
{
"word": "CZ3565"
},
{
"word": "CZ3566"
}
],
"issued_by": [
{
"word": "上海携程旅行社有限公司"
}
],
"starting_station": [
{
"word": "北京"
}
],
"fare": [
{
"word": "1080.00"
}
],
"ticket_rates": [
{
"word": "1420.00"
}
],
"serial_number": [
{
"word": "45956029770"
}
],
"ticket_number": [
{
"word": "7849648364314"
}
],
"fuel_surcharge": [
{
"word": "240.00"
}
],
"carrier": [
{
"word": "南航"
},
{
"word": "南航"
}
],
"issued_date": [
{
"word": "2019-09-18"
}
],
"other_tax": [],
"id_num": [
{
"word": "0789654700"
}
],
"destination_station": [
{
"word": "深圳"
},
{
"word": "北京"
}
],
"name": [
{
"word": "姚佳"
}
],
"time": [
{
"word": "13:55"
},
{
"word": "16:30"
}
],
"dev_fund": [
{
"word": "100.00"
}
]
},
}
二维码识别
对图片中的二维码、条形码进行检测和识别,返回存储的文字信息。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用二维码识别
res_image = client.qrcode(image)
res_url = client.qrcodeUrl(url)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
codes_result_num | 是 | uint32 | 识别结果数,表示codes_result的元素个数 |
codes_result | 是 | array[] | 定位和识别结果数组 |
+ type | 是 | string | 识别码类型条码类型包括:9种条形码(UPC_A、UPC_E、EAN_13、EAN_8、CODE_39、CODE_93、CODE_128、ITF、CODABAR),4种二维码(QR_CODE、DATA_MATRIX、AZTEC、PDF_417) |
+ text | 是 | string | 条形码识别内容,暂时只限于识别中英文结果 |
返回示例
{
"log_id": 863402790,
"codes_result": [
{
"type": "QR_CODE",
"text": [
"中国",
"北京"
]
}
],
"codes_result_num": 1
}
示例2(多个图的情况):
{
"log_id": 1508509437,
"codes_result": [
{
"type": "QR_CODE",
"text": [
"HTTP://Q8R.HK/YELZ0"
]
},
{
"type": "PDF_417",
"text": [
"PDF417偼丄TL-30偱撉傒庢傝壜擻偱偡丅"
]
},
{
"type": "CODABAR",
"text": [
"000800"
]
},
{
"type": "CODE_39",
"text": [
"1234567890"
]
},
{
"type": "AZTEC",
"text": [
"www.tec-it.com"
]
},
{
"type": "DATA_MATRIX",
"text": [
"Wikipedia, the free encyclopedia"
]
},
{
"type": "CODE_93",
"text": [
"123456789"
]
},
{
"type": "CODE_128",
"text": [
"50090500019191"
]
},
{
"type": "EAN_8",
"text": [
"12345670"
]
},
{
"type": "EAN_13",
"text": [
"6901234567892"
]
},
{
"type": "UPC_E",
"text": [
"01234565"
]
}
],
"codes_result_num": 11
}
手写文字识别
支持对图片中的手写中文、手写数字进行检测和识别,针对不规则的手写字体进行专项优化,识别准确率可达90%以上。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用手写文字识别
res_image = client.handwriting(image)
res_url = client.handwritingUrl(url)
res_pdf = client.handwritingPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options["recognize_granularity"] = "true"
options["detect_direction"] = "true"
options["probability"] = "true"
res_image = client.handwriting(image, options)
res_url = client.handwritingUrl(url, options)
res_pdf = client.handwritingPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置 |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度,默认为false,不返回置信度 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: true:检测朝向; false:不检测朝向 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 定位和识别结果数组 |
+ location | 是 | object | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 是 | string | 识别结果字符串 |
+ chars | 否 | array[] | 单字符结果,当 recognize_granularity=small 时存返回该字段 |
++ char | 否 | string | 单字符识别结果 |
++ candidates | 否 | array[] | 单字符识别结果的候选词内容 |
+++ word | 否 | string | 单字符识别结果的候选词文字 |
+++ prob | 否 | string | 单字符识别结果的候选词置信度 |
++ location | 否 | object | 位置数组(坐标0点为左上角) |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 否 | uint32 | 表示位置的长方形的高度 |
probability | 否 | object | 当 probability=true 时返回该字段,表示识别结果中每一行的置信度值,包含:- average: 行置信度平均值- variance:行置信度方差- min:行置信度最小值 |
direction | 否 | int32 | 图像方向,当 detect_direction=true 时返回该字段。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
{
"log_id": 620759800,
"words_result": [
{
"location": {
"left": 56,
"top": 0,
"width": 21,
"height": 210
},
"words": "3"
}
],
"words_result_num": 1
}
护照识别
支持对中国大陆护照个人资料页所有15个字段进行结构化识别,包括国家码、护照号、姓名、姓名拼音、性别、出生地点、出生日期、签发地点(不支持境外签发地)、签发日期、有效期、签发机关、护照类型、国籍、MRZCode1、MRZCode2。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用护照识别
res_image = client.passport(image)
res_url = client.passportUrl(url)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object | 识别结果 |
+ location | 是 | uint32 | 水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
+ words | 是 | string | 识别内容 |
返回示例
{
"log_id": 7377468409496932872,
"words_result_num": 14,
"words_result": {
"国家码": {
"location": {
"width": 59,
"top": 200,
"left": 762,
"height": 26
},
"words": "CHN"
},
"护照签发地点": {
"location": {
"width": 236,
"top": 505,
"left": 558,
"height": 43
},
"words": "山东/SHANDONG"
},
"MRZCode2": {
"location": {
"width": 1252,
"top": 797,
"left": 145,
"height": 88
},
"words": "E898657303CHNSDMO7O2<<<<<<<<<<<<<"
},
"有效期至": {
"location": {
"width": 287,
"top": 528,
"left": 955,
"height": 46
},
"words": "20261004"
},
"签发机关": {
"location": {
"width": 271,
"top": 583,
"left": 552,
"height": 42
},
"words": "出入境管理局"
},
"MRZCode1": {
"location": {
"width": 1201,
"top": 781,
"left": 162,
"height": 45
},
"words": "PONSUN<<JIAJIA<<<<<<<<<<<<<<<<<<<<<<<<<<"
},
"护照号码": {
"location": {
"width": 237,
"top": 215,
"left": 994,
"height": 48
},
"words": "E89865730"
},
"签发日期": {
"location": {
"width": 279,
"top": 453,
"left": 955,
"height": 46
},
"words": "20161005"
},
"出生地点": {
"location": {
"width": 216,
"top": 429,
"left": 564,
"height": 43
},
"words": "山东/SHANDONG"
},
"姓名": {
"location": {
"width": 159,
"top": 247,
"left": 581,
"height": 34
},
"words": "孙嘉佳"
},
"姓名拼音": {
"location": {
"width": 229,
"top": 279,
"left": 578,
"height": 41
},
"words": "SUN,JIAJIA"
},
"国籍": {
"location": {
"width": 209,
"top": 366,
"left": 695,
"height": 42
},
"words": "中国/CHINESE"
},
"生日": {
"location": {
"width": 202,
"top": 382,
"left": 950,
"height": 39
},
"words": "19950723"
},
"性别": {
"location": {
"width": 73,
"top": 357,
"left": 570,
"height": 34
},
"words": "男/M"
}
}
}
通用机打发票识别
支持对国家/地方税务局发行的横/竖版通用机打发票的23个关键字段进行结构化识别,包括发票类型、发票号码、发票代码、开票日期、合计金额大写、合计金额小写、商品名称、商品单位、商品单价、商品数量、商品金额、机打代码、机打号码、校验码、销售方名称、销售方纳税人识别号、购买方名称、购买方纳税人识别号、合计税额等。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用通用机打发票识别
res_image = client.invoice(image)
res_url = client.invoiceUrl(url)
res_pdf = client.invoicePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options["location"] = "true"
res_image = client.invoice(image, options)
res_url = client.invoiceUrl(url, options)
res_pdf = client.invoicePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 是 | int32 | 图像方向。 - - 1:未定义, - 0:正向, - 1:逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果 |
+ InvoiceType | 否 | string | 发票类型 |
+ InvoiceCode | 否 | string | 发票代码 |
+ InvoiceNum | 否 | string | 发票号码 |
+ InvoiceDate | 否 | string | 开票日期 |
+ AmountInFiguers | 否 | string | 合计金额小写 |
+ AmountInWords | 否 | string | 合计金额大写 |
+ CommodityName | 否 | array[] | 商品名称 |
++ row | 否 | unit32 | 行号 |
++ word | 否 | string | 内容 |
+ CommodityUnit | 否 | array[] | 商品单位 |
++ row | 否 | unit32 | 行号 |
++ word | 否 | string | 内容 |
+ CommodityPrice | 否 | array[] | 商品单价 |
++ row | 否 | unit32 | 行号 |
++ word | 否 | string | 内容 |
+ CommodityNum | 否 | array[] | 商品数量 |
++ row | 否 | unit32 | 行号 |
++ word | 否 | string | 内容 |
+ CommodityAmount | 否 | array[] | 商品金额 |
++ row | 否 | unit32 | 行号 |
++ word | 否 | string | 内容 |
+ IndustrySort | 否 | string | 行业分类 |
+ MachineNum | 否 | string | 机打号码 |
+ CheckCode | 否 | string | 校验码 |
+ SellerName | 否 | string | 销售方名称 |
+ SellerRegisterNum | 否 | string | 销售方纳税人识别号 |
+ PurchaserName | 否 | string | 购买方名称 |
+ PurchaserRegisterNum | 否 | string | 购买方纳税人识别号 |
+ TotalTax | 否 | string | 合计税额 |
+ Province | 否 | string | 省 |
+ City | 否 | string | 市 |
+ Time | 否 | string | 时间 |
+ SheetNum | 否 | string | 联次 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
{
"log_id": 4423022131715883558,
"direction": 0,
"words_result_num": 22,
"words_result": {
"City": "",
"InvoiceNum": "01445096",
"SellerName": "百度餐饮店",
"IndustrSort": "生活服务",
"Province": "广东省",
"CommodityAmount": [
{
"word": "183.00",
"row": "1"
}
],
"InvoiceDate": "2020年07月28日",
"PurchaserName": "中信建投证券股份有限公司",
"CommodityNum": [],
"InvoiceCode": "144001901511",
"CommodityUnit": [],
"SheetNum": "",
"PurchaserRegisterNum": "9144223008453480X9",
"Time": "",
"CommodityPrice": [],
"AmountInFiguers": "183.00",
"AmountInWords": "壹佰捌拾叁元整",
"CheckCode": "61042119820421061301",
"TotalTax": "183.00",
"InvoiceType": "广东通用机打发票",
"SellerRegisterNum": "61042119820421061301",
"CommodityName": [
{
"word": "餐费",
"row": "1"
}
]
}
}
户口本识别
支持对户口本内常住人口登记卡的全部 22 个字段进行结构化识别,包括户号、姓名、与户主关系、性别、出生地、民族、出生日期、身份证号、本市县其他住址、曾用名、籍贯、宗教信仰、身高、血型、文化程度、婚姻状况、兵役状况、服务处所、职业、何时由何地迁往本市、何时由何地迁往本址、登记日期。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用户口本识别
res_image = client.householdRegister(image)
res_url = client.householdRegisterUrl(url)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和image二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | int | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果 |
Name | 是 | object{} | 姓名 |
+ words | 是 | string | 所属字段的具体内容,以下各字段均含有此元素 |
Relationship | 是 | object{} | 户主或与户主关系 |
Sex | 是 | object{} | 性别 |
BirthAddress | 是 | object{} | 出生地 |
Nation | 是 | object{} | 民族 |
Birthday | 是 | object{} | 生日 |
CardNo | 是 | object{} | 身份证号 |
HouseholdNum | 是 | object{} | 户号 |
FormerName | 是 | object{} | 曾用名 |
Hometown | 是 | object{} | 籍贯 |
OtherAddress | 是 | object{} | 本市(县)其他住址 |
Belief | 是 | object{} | 宗教信仰 |
Height | 是 | object{} | 身高 |
BloodType | 是 | object{} | 血型 |
Education | 是 | object{} | 文化程度 |
MaritalStatus | 是 | object{} | 婚姻状况 |
VeteranStatus | 是 | object{} | 兵役状况 |
WorkAddress | 是 | object{} | 服务处所 |
Career | 是 | object{} | 职业 |
WWToCity | 是 | object{} | 何时由何地迁来本市(县) |
WWHere | 是 | object{} | 何时由何地迁往本址 |
Date | 是 | object{} | 登记日期 |
返回示例
{
"log_id": 1301870459,
"words_result": {
"BirthAddress": {
"words": "河南洛阳市郊区"
},
"Birthday": {
"words": "2016-07-28"
},
"CardNo": {
"words": "410311201607282825"
},
"Name": {
"words": "孙翌晨"
},
"Nation": {
"words": "汉族"
},
"Relationship": {
"words": "户主"
},
"Sex": {
"words": "男"
},
},
"words_result_num": 7
}
机动车销售发票识别
支持对机动车销售发票的26个关键字段进行结构化识别,包括发票代码、发票号码、开票日期、机器编号、购买方名称、购买方身份证号码/组织机构代码、车辆类型、厂牌型号、产地、合格证号、发动机号码、车架号码、价税合计、价税合计小写、销货单位名称、电话、纳税人识别号、账号、地址、开户银行、税率、税额、主管税务机关及代码、不含税价格、限乘人数。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用机动车销售发票识别
res_image = client.vehicleInvoice(image)
res_url = client.vehicleInvoiceUrl(url)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 识别结果数组 |
+ InvoiceCode | 是 | string | 发票代码/机打代码 |
+ InvoiceNum | 是 | string | 发票号码/机打号码 |
+ InvoiceDate | 是 | string | 开票日期 |
+ MachineCode | 是 | string | 机器编号 |
+ Purchaser | 是 | string | 购买方名称 |
+ PurchaserCode | 是 | string | 购买方身份证号码/组织机构代码 |
+ VehicleType | 是 | string | 车辆类型 |
+ ManuModel | 是 | string | 厂牌型号 |
+ Origin | 是 | string | 产地 |
+ CertificateNum | 是 | string | 合格证号 |
+ EngineNum | 是 | string | 发动机号码 |
+ VinNum | 是 | string | 车架号码 |
+ PriceTax | 是 | string | 价税合计 |
+ PriceTaxLow | 是 | string | 价税合计小写 |
+ Saler | 是 | string | 销货单位名称 |
+ SalerPhone | 是 | string | 销货单位电话 |
+ SalerCode | 是 | string | 销货单位纳税人识别号 |
+ SalerAccountNum | 是 | string | 销货单位账号 |
+ SalerAddress | 是 | string | 销货单位地址 |
+ SalerBank | 是 | string | 销货单位开户银行 |
+ TaxRate | 是 | string | 税率 |
+ Tax | 是 | string | 税额 |
+ TaxAuthor | 是 | string | 主管税务机关 |
+ TaxAuthorCode | 是 | string | 主管税务机关代码 |
+ Price | 是 | string | 不含税价格 |
+ LimitPassenger | 是 | string | 限乘人数 |
返回示例
{
"log_id": 283449393728149457,
"words_result_num": 26,
"words_result": {
"InvoiceNum": "00875336",
"Saler": "深圳市新能源汽车销售有限公司",
"LimitPassenger": "5",
"MachineCode": "669745967911",
"VinNum": "LJLGTCRP1J4007581",
"TaxRate": "16%",
"PriceTaxLow": "106100.00",
"InvoiceDate": "2018-11-29",
"Price": "¥91465.52",
"SalerBank": "中国工商银行股份有限公司深圳岭园支行",
"TaxAuthor": "国家锐务总局深圳市龙岗区税务局第五税务所",
"ManuModel": "江淮牌HFC7007EYBD6",
"CertificateNum": "WCH0794J0976801",
"Purchaser": "苏子潇",
"VehicleType": "纯电动轿车",
"InvoiceCode": "14975047560",
"PriceTax": "壹拾万陆仟壹佰圆整",
"SalerPhone": "0755-83489306",
"SalerAddress": "深圳市龙岗区龙岗街道百世国际汽车城",
"Origin": "安徽省合肥市",
"EngineNum": "18958407",
"Tax": "14634.48",
"PurchaserCode": "5135934475603742222",
"TaxAuthorCode": "14037589413",
"SalerAccountNum": "中国工商银行股份有限公司深圳岭园支行",
"SalerCode": "9144928346458292278H"
}
}
车辆合格证识别
支持对车辆合格证的23个关键字段进行结构化识别,包括合格证编号、发证日期、车辆制造企业名、车辆品牌、车辆名称、车辆型号、车架号、车身颜色、发动机型号、发动机号、燃料种类、排量、功率、排放标准、轮胎数、轴距、轴数、转向形式、总质量、整备质量、驾驶室准乘人数、最高设计车速、车辆制造日期。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用车辆合格证
res_image = client.vehicleCertificate(image)
res_url = client.vehicleCertificateUrl(url)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array[] | 识别结果数组 |
+ CertificationNo | 是 | string | 合格证编号 |
+ CertificateDate | 是 | string | 发证日期 |
+ Manufacturer | 是 | string | 车辆制造企业名 |
+ CarBrand | 是 | string | 车辆品牌 |
+ CarName | 是 | string | 车辆名称 |
+ CarModel | 是 | string | 车辆型号 |
+ VinNo | 是 | string | 车架号 |
+ CarColor | 是 | string | 车身颜色 |
+ EngineType | 是 | string | 发动机型号 |
+ EngineNo | 是 | string | 发动机号 |
+ FuelType | 是 | string | 燃料种类 |
+ Displacement | 是 | string | 排量 |
+ Power | 是 | string | 功率 |
+ EmissionStandard | 是 | string | 排放标准 |
+ TyreNum | 是 | string | 轮胎数 |
+ Wheelbase | 是 | string | 轴距 |
+ AxleNum | 是 | string | 轴数 |
+ SteeringType | 是 | string | 转向形式 |
+ TotalWeight | 是 | string | 总质量 |
+ SaddleMass | 是 | string | 整备质量 |
+ LimitPassenger | 是 | string | 驾驶室准乘人数 |
+ SpeedLimit | 是 | string | 最高设计车速 |
+ ManufactureDate | 是 | string | 车辆制造日期 |
返回示例
{
"log_id": 14814098736243057,
"words_result_num": 23,
"words_result": {
"ManufactureDate": "2016年10月13日",
"CarColor": "红",
"LimitPassenger": "2",
"EngineType": "WP12.460E50",
"TotalWeight": "25000",
"Power": "338",
"CertificationNo": "WEK29JX98645437",
"FuelType": "汽油",
"Manufacturer": "陕西汽车集团有限责任公司",
"SteeringType": "方向盘",
"Wheelbase": "3175+1350",
"SpeedLimit": "105",
"EngineNo": "1418K129178",
"SaddleMass": "8600",
"AxleNum": "3",
"CarModel": "SX4250MC4",
"VinNo": "LZGJHYD83JX197344",
"CarBrand": "陕汽牌",
"EmissionStandard": "GB17691-2005国V,GB3847-2005",
"Displacement": "11596",
"CertificateDate": "2018年11月28日",
"CarName": "牵引汽车",
"TyreNum": "10"
}
}
网约车行程单识别
对各大主要服务商的网约车行程单进行结构化识别,包括滴滴打车、花小猪打车、高德地图、曹操出行、阳光出行,支持识别服务商、行程开始时间、行程结束时间、车型、总金额等16 个关键字段。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用网约车行程单识别
res_image = client.onlineTaxiItinerary(image)
res_url = client.onlineTaxiItineraryUrl(url)
res_pdf = client.onlineTaxiItineraryPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options["pdf_file_num"] = "1"
res_pdf = client.onlineTaxiItineraryPdf(image, options)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 说明 |
---|---|---|---|
image | 和url二选一 | string | 图像数据,base64编码后进行urlencode,base64编码去除编码头(data:image/jpeg;base64),要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效,请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
返回参数详情 |
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object | 识别结果 |
+ ServiceProvider | 是 | string | 服务商 |
+ StartTime | 是 | string | 行程开始时间 |
+ EndTime | 是 | string | 行程结束时间 |
+ Phone | 是 | string | 行程人手机号 |
+ ApplicationDate | 是 | string | 申请日期 |
+ TotalFare | 是 | string | 总金额 |
+ ItemNum | 是 | array | 行程信息中包含的行程数量 |
+ Items | 是 | array | 行程信息 |
++ ItemId | 是 | string | 行程信息的对应序号 |
++ PickupTime | 是 | string | 上车时间 |
++ PickupDate | 是 | string | 上车日期 |
++ CarType | 是 | string | 车型 |
++ Distance | 是 | string | 里程 |
++ StartPlace | 是 | string | 起点 |
++ DestinationPlace | 是 | string | 终点 |
++ City | 是 | string | 城市 |
++ Fare | 是 | string | 金额 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
{
"log_id": 1385196013945356288,
"words_result_num": 7
"words_result": {
"TotalFare": "2316",
"EndTime": "2020-07-30 19:00",
"Phone": "13000000000",
"ServiceProvider": "滴滴企业版",
"StartTime": "2020-07-01 16:00",
"ApplicationDate": "2017-12-08",
"ItemId": "3"
"items": [
{
"ItemId": "1",
"StartPlace": "鱼化寨地铁-D口",
"PickupTime": "16:00",
"CarType": "快车",
"City": "西安市",
"Distance": "9.7",
"PickupDate": "20-07-01",
"DestinationPlace": "创新港",
"Fare": "20.86"
},
{
"ItemId": "2",
"StartPlace": "科学园东门",
"PickupTime": "14:56",
"CarType": "快车",
"City": "西安市",
"Distance": "91",
"PickupDate": "20-07-02",
"DestinationPlace": "鱼化寨地铁站",
"Fare": "18.58"
},
{
"ItemId": "3",
"StartPlace": "中俄丝路创新园东门",
"PickupTime": "19:00",
"CarType": "快车",
"City": "西安市",
"Distance": "9.1",
"PickupDate": "20-07-30",
"DestinationPlace": "新门地铁站",
"Fare": "20.38"
},
],
},
}
磅单识别
结构化识别磅单的车牌号、打印时间、毛重、皮重、净重、发货单位、收货单位、单号8个关键字段,现阶段仅支持识别印刷体磅单。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用磅单识别
res_image = client.weightNote(image)
res_url = client.weightNoteUrl(url)
res_pdf = client.weightNotePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options={}
options["pdf_file_num"] = "1"
options["probability"] = "false"
res_image = client.weightNote(image, options)
res_url = client.weightNoteUrl(url, options)
res_pdf = client.weightNotePdf(image, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
probability | 否 | true/false | - | 是否返回字段识别结果的置信度,默认为 false,可缺省- false:不返回字段识别结果的置信度- true:返回字段识别结果的置信度,包括字段识别结果中各字符置信度的平均值(average)和最小值(min) |
返回参数详情
字段 | 是否必输出 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 调用日志id,用于问题定位 |
words_result | 是 | object | 识别结果 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ PlateNum | 是 | object | 车牌号 |
+ PrintTime | 是 | object | 打印时间 |
+ CrossWeight | 是 | object | 毛重 |
+ TareWeight | 是 | object | 皮重 |
+ NetWeight | 是 | object | 净重 |
+ SendingCompany | 是 | object | 发货单位 |
+ ReceivingCompany | 是 | object | 收货单位 |
+ DeliveryNumber | 是 | object | 单号 |
++ word | 是 | string | 字段识别结果,以上各字段均包含此参数 |
++ probability | 否 | object | 字段识别结果置信度,当请求参数 probability=true 时,以上各字段均包含此参数 |
+++ average | 否 | float | 字段识别结果中各字符的置信度平均值 |
+++ min | 否 | float | 字段识别结果中各字符的置信度最小值 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
{
"words_result": [
{
"TareWeight": [
{
"word": "14.20"
}
],
"CrossWeight": [
{
"word": "50.70"
}
],
"PlateNum": [
{
"word": "京A12356"
}
],
"SendingCompany": [
{
"word": "宣化县耿矿煤业有限公司"
}
],
"DeliveryNumber": [
{
"word": "278933000"
}
],
"ReceivingCompany": [
{
"word": "宁夏市京裕达实业公司"
}
],
"PrintTime": [
{
"word": "2020年1月1日"
}
],
"NetWeight": [
{
"word": "36.50"
}
]
}
],
"words_result_num": 1,
"log_id": 1428311410130160734
}
医疗费用明细识别
支持识别全国医疗费用明细的姓名、日期、病人ID、总金额等关键字段,支持识别费用明细项目清单,包含项目类型、项目名称、单价、数量、规格、金额,其中北京地区识别效果最佳。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用医疗费用明细识别
res_image = client.medicalDetail(image)
res_url = client.medicalDetailUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options={}
options["location"] = "1"
options["probability"] = "false"
res_image = client.medicalDetail(image, options)
res_url = client.medicalDetailUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
location | 否 | true/false | - | 是否返回字段的位置信息,默认为 false,可缺省- false:不返回字段位置信息- true:返回字段的位置信息,包括上边距(top)、左边距(left)、宽度(width)、高度(height) |
probability | 否 | true/false | - | 是否返回字段识别结果的置信度,默认为 false,可缺省- false:不返回字段识别结果的置信度- true:返回字段识别结果的置信度,包括字段识别结果中各字符置信度的平均值(average)和最小值(min) |
返回参数详情
字段 | 是否必输出 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 调用日志id,用于问题定位 |
words_result | 是 | object | 识别结果 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
+ Name | 是 | object | 姓名 |
+ Date | 是 | object | 日期 |
+ PatientID | 是 | object | 病人ID |
+ TotalAmount | 是 | object | 总金额 |
+ word | 是 | string | 字段识别结果,以上各字段均包含此参数 |
++ location | 否 | object | 字段位置信息,当请求参数 location=true 时,以上各字段均包含此参数 |
+++ top | 否 | uint32 | 字段的上边距 |
+++ left | 否 | uint32 | 字段的左边距 |
+++ height | 否 | uint32 | 字段的高度 |
+++ width | 否 | uint32 | 字段的宽度 |
++ probability | 否 | object | 字段识别结果置信度,当请求参数 probability=true 时,以上各字段均包含此参数 |
+++ average | 否 | float | 字段识别结果中各字符的置信度平均值 |
+++ min | 否 | float | 字段识别结果中各字符的置信度最小值 |
+ CostDetail | 是 | array[] | 项目明细 |
CostDetail字段包含多个Array,每个数组包含多个object,见以下参数
字段 | 说明 |
---|---|
++ word_name | 字段名,包括:项目类型、项目名称、单价、数量、规格、金额 |
++ word | word_name字段对应的识别结果 |
返回示例
{
"log_id": 1397090241579319296,
"words_result_num": 5,
"words_result": {
"PatientID": {
"word": "23683829"
},
"TotalAmount": {
"word": "600.00"
},
"Date": {
"word": "2020年11月04日"
},
"Name": {
"word": "范浩"
},
"CostDetail": [
[
{
"word_name": "清单项目名称",
"word": "普通过敏原(新)筛查"
},
{
"word_name": "单价",
"word": "580.00"
},
{
"word_name": "数量",
"word": "1.00"
},
{
"word_name": "金额",
"word": "580.00"
},
{
"word_name": "规格",
"word": "次"
},
{
"word_name": "项目类型",
"word": "化验费"
}
],
[
{
"word_name": "清单项目名称",
"word": "总IgE测定"
},
{
"word_name": "单价",
"word": "20.00"
},
{
"word_name": "数量",
"word": "1.00"
},
{
"word_name": "金额",
"word": "20.00"
},
{
"word_name": "规格",
"word": "次"
},
{
"word_name": "项目类型",
"word": "化验费"
}
]
],
},
}
办公文档识别
可对办公类文档版面进行分析,输出图、表、标题、文本的位置,并输出分版块内容的OCR识别结果,支持中、英两种语言,手写、印刷体混排多种场景。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用办公文档识别
res_image = client.doc_analysis_office(image)
res_url = client.doc_analysis_officeUrl(url)
res_pdf = client.doc_analysis_officePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["probability"] = "true"
options["result_type"] = "small"
res_image = client.doc_analysis_office(image, options)
res_url = client.doc_analysis_officeUrl(url, options)
res_pdf = client.doc_analysis_officePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
language_type | 否 | string | CHN_ENG/ ENG | 识别语言类型,默认为CHN_ENG 可选值包括: =CHN_ENG:中英文 =ENG:英文 |
result_type | 否 | string | big/small | 返回识别结果是按单行结果返回,还是按单字结果返回,默认为big。 =big:返回行识别结果 =small:返回行识别结果之上还会返回单字结果 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。其中, 0 :正向 1:逆时针旋转90度 2:逆时针旋转180度 3:逆时针旋转270度 |
line_probability | 否 | string | true/false | 是否返回每行识别结果的置信度。默认为false |
disp_line_poly | 否 | string | true/false | 是否返回每行的四角点坐标。默认为false |
words_type | 否 | string | handwring_only/ handprint_mix | 文字类型。 默认:印刷文字识别 = handwring_only:手写文字识别 = handprint_mix: 手写印刷混排识别 |
layout_analysis | 否 | string | true/false | 是否分析文档版面:包括layout(图、表、标题、段落、目录);attribute(栏、页眉、页脚、页码、脚注)的分析输出 |
erase_seal | 否 | string | true/false | 是否先擦除水印、印章后再识别文档 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
img_direction | 否 | int32 | detect_direction=true 时返回该字段。检测到的图像朝向,0 :正向; 1:逆时针旋转90度;2:逆时针旋转180度;3:逆时针旋转270度 |
results_num | 是 | uint32 | 识别结果数,表示results的元素个数 |
results | 是 | array[] | 识别结果数组 |
+ words_type | 是 | string | 文字属性(手写、印刷),handwriting 手写,print 印刷 |
+ words | 是 | array[] | 整行的识别结果数组 |
++ line_probability | 否 | array[] | line_probability=true时返回。识别结果中每一行的置信度值,包含average:行置信度平均值,min:行置信度最小值 |
+++ average | 否 | float | 行置信度 |
+++ min | 否 | float | 整行中单字的最低置信度 |
++ word | 是 | float | 整行的识别结果 |
++ poly_location | 否 | array[] | 是否返回每行的四角点坐标,disp_line_poly=true时返回 |
++ words_location | 是 | array[] | 整行的矩形框坐标。位置数组(坐标0点为左上角) |
+++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 是 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 是 | uint32 | 表示位置的长方形的高度 |
+ chars | 否 | array[] | result_type=small时返回。单字符结果数组 |
++ char | 否 | string | result_type=small时返回。每个单字的内容 |
++ chars_location | 否 | array[] | 每个单字的矩形框坐标。位置数组(坐标0点为左上角) |
+++ left | 否 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+++ top | 否 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+++ width | 否 | uint32 | 表示定位定位位置的长方形的宽度 |
+++ height | 否 | uint32 | 表示位置的长方形的高度 |
layouts_num | 否 | uint32 | 版面分析结果数,表示layout的元素个数 |
layouts | 否 | array[] | 每个「栏:section」里面的文档版面模块数组,包含表格、图、段落文本、标题、目录等5个模块;每个模块的坐标位置;段落文本和表格内文本内容对应的行序号id。 |
+ layout | 否 | string | 版面分析的标签结果。表格:table, 图:figure, 文本:text, 标题:title ,目录:contents |
+ layout_location | 否 | array[] | 文档版面信息标签的位置,四个顶点: 左上,右上,右下,左下 |
++ x | 否 | uint32 | 水平坐标(坐标0点为左上角) |
++ y | 否 | uint32 | 水平坐标(坐标0点为左上角) |
+ layout_idx | 否 | array[] | 文档版面信息中的文本在results结果中的位置:版面文本标签对应的行序号ID为n,则此标签中的文本在results结果中第n+1条展示) |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
sec_rows | 否 | uint32 | 将所有的版面中的「栏:section」内容表示成 M x N 的网格,sec_rows = M |
sec_cols | 否 | uint32 | 将所有的版面中的「分栏」内容表示成 M x N 的网格,sec_cols = N |
sections | 否 | array[] | 一张图片中包含的5大版面属性,包含:栏,页眉,页脚,页码,脚注,该数组里有属性的标签、属性的位置、属性所包含文本内容的id序号。 其中,栏(section)里面包含5个模块内容,有:表格、图、段落文本、标题、目录(在返回参数layouts里输出)。 |
+ attribute | 否 | string | 版面分析的属性标签结果,栏:section, 页眉:header, 页脚:footer, 页码:number,脚注:footnote。 |
+ attri_location | 否 | array[] | 版面分析的属性所在位置,四个顶点: 左上,右上,右下,左下 |
++ x | 否 | uint32 | 水平坐标(坐标0点为左上角) |
++ y | 否 | uint32 | 水平坐标(坐标0点为左上角) |
+ sec_idx | 否 | string | sections返回参数中的5个版面属性里,包含的内容序号标识 |
++ idx | 否 | string | sections返回参数中的5个版面属性里,每个属性下包含的文本行id序号 |
++ para_idx | 否 | string | 当且仅当attribute=section时才会返回。表示,返回参数中的「栏:section」里面,所包含的表格、图、段落文本、标题、目录等5个模块返回的顺序号id(即layouts返回结果中,每个模块的返回顺序号) |
++ row_idx | 否 | string | 当且仅当attribute=section时才会返回。表示,将所有栏表示成 M xN 的网格,所属网格的行的id。 |
++ col_idx | 否 | string | 当且仅当attribute=section时才会返回。表示,将所有栏表示成 M xN 的网格,所属网格的列的id。 |
返回示例
{
"results_num": 5,
"log_id": "1410491260247950412",
"results": [
{
"words_type": "print",
"words": {
"words_location": {
"top": 88,
"left": 442,
"width": 142,
"height": 49
},
"word": "行程单"
}
},
{
"words_type": "print",
"words": {
"words_location": {
"top": 241,
"left": 439,
"width": 393,
"height": 37
},
"word": "美国东海岸名校8天7晚"
}
},
{
"words_type": "print",
"words": {
"words_location": {
"top": 318,
"left": 436,
"width": 774,
"height": 31
},
"word": "国会大厦位于华盛顿25米高的国会山上,是美国的心脏建筑。"
}
},
{
"words_type": "print",
"words": {
"words_location": {
"top": 374,
"left": 434,
"width": 805,
"height": 31
},
"word": "中央顶楼上的大圆顶上立有一尊6米高的自由女神青铜雕像。"
}
},
{
"words_type": "print",
"words": {
"words_location": {
"top": 431,
"left": 436,
"width": 556,
"height": 31
},
"word": "东面的大草坪是历届总统举行就职典礼的地方。"
}
}
]
}
印章识别
检测并识别合同文件或常用票据中的印章,输出文字内容、印章位置信息以及相关置信度,已支持圆形章、椭圆形章、方形章等常见印章检测与识别。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用印章识别
res_image = client.seal(image)
res_url = client.sealUrl(url)
res_pdf = client.sealPdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["pdf_file_num"] = "1"
res_image = client.seal(image, options)
res_url = client.sealUrl(url, options)
res_pdf = client.sealPdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
result_num | 是 | uint32 | 识别结果数,表示results的元素个数 |
result | 是 | array[] | 定位结果数组 |
+ location | 是 | object | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ probability | 是 | float | 每一个识别结果的置信度值 |
+ type | 是 | string | 印章的类别,共有circle(圆章),ellipse(椭圆章),rectangle(方章)三种 |
+ major | 是 | object | 主字段内容 |
++ words | 是 | string | 主字段识别内容,即章内上环弯曲文字结果 |
++ probability | 是 | float | 主字段识别内容的置信度 |
+ minor | 是 | array[] | 其他字段内容,即除主字段外的文字识别内容均放置于该参数中返回,若章内不存在其他字段文字,则该参数为空 |
++ words | 是 | string | 其他字段识别内容 |
++ probability | 是 | float | 其他字段识别内容的置信度 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
返回示例
{
"result": [
{
"major": {
"probability": 0.99759155511856,
"words": "峨眉山旅游股份有限公司成都峨眉山雪芽大酒店分公司"
},
"minor": [
{
"probability": 0.99994027614594,
"words": "前厅部"
}
],
"probability": 0.9936261177063,
"location": {
"top": 594,
"left": 918,
"width": 150,
"height": 142
},
"type": "circle"
}
],
"log_id": "1349006147834609664",
"result_num": 1
}
机动车登记证书识别
支持对机动车登记证书的15个关键字段进行结构化识别,包括编号、机动车所有人、登记机关、登记日期、登记编号、车辆类型等,同时支持检测发证机关章。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用机动车登记证书识别
res_image = client.vehicle_registration_certificate(image)
res_url = client.vehicle_registration_certificateUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
res_image = client.vehicle_registration_certificate(image, options)
res_url = client.vehicle_registration_certificateUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
direction | 是 | int32 | 图像方向- 1:未定义,0:正向,1:逆时针90度,2:逆时针180度,3:逆时针270度 |
words_result | 是 | object | 识别结果数组 |
+ number | 是 | object | 编号 |
+ name_idcard_no | 是 | object | 机动车所有人/身份证明名称/号码 |
+ registration_authority | 是 | object | 登记机关 |
+ registration_date | 是 | object | 登记日期 |
+ registration_num | 是 | object | 机动车登记编号 |
+ vehicle_model | 是 | object | 车辆型号 |
+ vehicle_type | 是 | object | 车辆类型 |
+ vin | 是 | object | 车架号 |
+ engine_num | 是 | object | 发动机号 |
+ seating_capacity | 是 | object | 核定载客 |
+ body_color | 是 | object | 车身颜色 |
+ nature_of_use | 是 | object | 使用性质 |
+ date_of_production | 是 | object | 出厂日期 |
+ date_of_issue | 是 | object | 发证日期 |
+ seal_of_issue_authority | 是 | object | 发证机关章,1表示有,0表示无 |
返回示例
{
"words_result": {
"registration_authority": {
"words": "江苏省昆山市公安局交通巡逻警察大队"
},
"vehicle_model": {
"words": "DHW6691R8CEE"
},
"vehicle_type": {
"words": "小型普通客车"
},
"registration_num": {
"words": "苏A88FF2"
},
"engine_num": {
"words": "2005533"
},
"number": {
"words": "32004574998"
},
"body_color": {
"words": "白"
},
"registration_date": {
"words": "2016-06-06"
},
"date_of_production": {
"words": "2016-03-11"
},
"seating_capacity": {
"words": "7"
},
"date_of_issue": {
"words": "2016-06-06"
},
"nature_of_use": {
"words": "非营运"
},
"vin": {
"words": "LVHRR8836G5004527"
},
"seal_of_issue_authority": {
"words": "1"
},
"name_idcard_no": {
"words": "汽车服务有限公司/统一社会信用代码/91320583088874412F"
}
},
"log_id": 1392089398849306624,
"direction": "0"
}
智能财务票据识别
支持财务场景中13种常见票据的分类及结构化识别,包括增值税发票、卷票、机打发票、定额发票、火车票、出租车票、网约车行程单、飞机行程单、汽车票、过路过桥费、船票、机动车/二手车销售发票。支持多张不同种类票据在同一张图片上的混贴场景,可返回每张票据的位置、种类及票面信息的结构化识别结果。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 调用智能财务票据识别
res_image = client.multipleInvoice(image)
res_url = client.multipleInvoiceUrl(url)
res_pdf = client.multipleInvoicePdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
# 如果有可选参数
options = {}
options["probability"] = "true"
options["location"] = "true"
res_image = client.multipleInvoice(image, options)
res_url = client.multipleInvoiceUrl(url, options)
res_pdf = client.multipleInvoicePdf(pdf_file, options)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file 三选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级:image > url > pdf_file,当image字段存在时,url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
verify_parameter | 否 | string | true/false | 是否开启验真,默认为 false,即不开启,当为 true 时,返回匹配发票验真接口所需的6要素信息,具体返回信息详见末尾说明 |
probability | 否 | string | true/false | 是否返回字段置信度,默认为 false ,即不返回 |
location | 否 | string | true/false | 是否返回字段位置坐标,默认为 false,即不返回 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
pdf_file_size | 否 | string | 传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果 |
+ probability | 是 | string | 表示单张票据分类的置信度 |
+ left | 是 | string | 表示单张票据定位位置的长方形左上顶点的水平坐标 |
+ top | 是 | string | 表示单张票据定位位置的长方形左上顶点的垂直坐标 |
+ width | 是 | string | 表示单张票据定位位置的长方形的宽度 |
+ height | 是 | string | 表示单张票据定位位置的长方形的高度 |
+ type | 是 | string | 每一张票据的种类 |
+ result | 是 | array[] | 单张票据的识别结果数组 |
type 字段会返回以下17种结果,每种结果对应的票据类型详见下表 |
type 返回结果 | 说明 |
---|---|
vat_invoice | 增值税发票 |
taxi_receipt | 出租车票 |
train_ticket | 火车票 |
quota_invoice | 定额发票 |
air_ticket | 机票行程单 |
roll_normal_invoice | 卷票 |
printed_invoice | 机打发票 |
bus_ticket | 汽车票 |
toll_invoice | 过路过桥费发票 |
ferry_ticket | 船票 |
motor_vehicle_invoice | 机动车销售发票 |
used_vehicle_invoice | 二手车发票 |
taxi_online_ticket | 网约车行程单 |
limit_invoice | 限额发票 |
shopping_receipt | 购物小票 |
pos_invoice | POS小票 |
others | 其他 |
type 的返回结果为 vat_invoice,即“增值税发票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceTypeOrg | 是 | array[] | 发票名称 |
++ InvoiceType | 是 | array[] | 增值税发票的细分类型。不同细分类型的增值税发票发票输出:普通发票、专用发票、电子普通发票、电子专用发票、通行费电子普票、区块链发票、通用机打电子发票 |
++ InvoiceCode | 是 | array[] | 发票代码 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ InvoiceCodeConfirm | 是 | array[] | 发票代码的辅助校验码,一般业务情景可忽略 |
++ InvoiceNumConfirm | 是 | array[] | 发票号码的辅助校验码,一般业务情景可忽略 |
++ CheckCode | 是 | array[] | 校验码。增值税专票无此参数 |
++ InvoiceDate | 是 | array[] | 开票日期 |
++ PurchaserName | 是 | array[] | 购方名称 |
++ PurchaserRegisterNum | 是 | array[] | 购方纳税人识别号 |
++ PurchaserAddress | 是 | array[] | 购方地址及电话 |
++ PurchaserBank | 是 | array[] | 购方开户行及账号 |
++ Password | 是 | array[] | 密码区 |
++ Province | 是 | array[] | 省 |
++ City | 是 | array[] | 市 |
++ SheetNum | 是 | array[] | 联次信息。专票第一联到第三联分别输出:第一联:记账联、第二联:抵扣联、第三联:发票联;普通发票第一联到第二联分别输出:第一联:记账联、第二联:发票联 |
++ Agent | 是 | array[] | 是否代开 |
++ OnlinePay | 是 | String | 电子支付标识。仅区块链发票含有此参数 |
++ SellerName | 是 | array[] | 销售方名称 |
++ SellerRegisterNum | 是 | array[] | 销售方纳税人识别号 |
++ SellerAddress | 是 | array[] | 销售方地址及电话 |
++ SellerBank | 是 | array[] | 销售方开户行及账号 |
++ TotalAmount | 是 | array[] | 合计金额 |
++ TotalTax | 是 | array[] | 合计税额 |
++ AmountInWords | 是 | array[] | 价税合计(大写) |
++ AmountInFiguers | 是 | array[] | 价税合计(小写) |
++ Payee | 是 | array[] | 收款人 |
++ Checker | 是 | array[] | 复核 |
++ NoteDrawer | 是 | array[] | 开票人 |
++ Remarks | 是 | array[] | 备注 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
++ CommodityName | 是 | array[] | 货物名称 |
++ CommodityType | 是 | array[] | 规格型号 |
++ CommodityUnit | 是 | array[] | 单位 |
++ CommodityNum | 是 | array[] | 数量 |
++ CommodityPrice | 是 | array[] | 单价 |
++ CommodityAmount | 是 | array[] | 金额 |
++ CommodityTaxRate | 是 | array[] | 税率 |
++ CommodityTax | 是 | array[] | 税额 |
++ CommodityPlateNum | 是 | array[] | 车牌号。仅通行费增值税电子普通发票含有此参数 |
++ CommodityVehicleType | 是 | array[] | 类型。仅通行费增值税电子普通发票含有此参数 |
++ CommodityStartDate | 是 | array[] | 通行日期起。仅通行费增值税电子普通发票含有此参数 |
++ CommodityEndDate | 是 | array[] | 通行日期止。仅通行费增值税电子普通发票含有此参数 |
+++ row | 是 | uint32 | 行号,以上各字段均包含 |
+++ word | 是 | string | 内容,以上各字段均包含 |
type 的返回结果为 taxi_receipt,即“出租车票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceCode | 是 | array[] | 发票代号 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ TaxiNum | 是 | array[] | 车牌号 |
++ Date | 是 | array[] | 日期 |
++ Time | 是 | array[] | 上下车时间 |
++ PickupTime | 是 | array[] | 上车时间 |
++ DropoffTime | 是 | array[] | 下车时间 |
++ Fare | 是 | array[] | 金额 |
++ FuelOilSurcharge | 是 | array[] | 燃油附加费 |
++ CallServiceSurcharge | 是 | array[] | 叫车服务费 |
++ TotalFare | 是 | array[] | 总金额 |
++ Location | 是 | array[] | 开票城市 |
++ Province | 是 | array[] | 省 |
++ City | 是 | array[] | 市 |
++ PricePerkm | 是 | array[] | 单价 |
++ Distance | 是 | array[] | 里程 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 train_ticket,即“火车票”时,识别结果的返回字段如下 |
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ ticket_num | 是 | array[] | 车票号 |
++ starting_station | 是 | array[] | 始发站 |
++ train_num | 是 | array[] | 车次号 |
++ destination_station | 是 | array[] | 到达站 |
++ date | 是 | array[] | 出发日期 |
++ ticket_rates | 是 | array[] | 车票金额 |
++ seat_category | 是 | array[] | 席别 |
++ name | 是 | array[] | 乘客姓名 |
++ ID_card | 是 | array[] | 身份证号 |
++ serial_number | 是 | array[] | 序列号 |
++ sales_station | 是 | array[] | 售站 |
++ time | 是 | array[] | 时间 |
++ seat_num | 是 | array[] | 座位号 |
++ Waiting_area | 是 | array[] | 候检区 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 quota_invoice,即“定额发票”时,识别结果的返回字段如下 |
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ invoice_code | 是 | array[] | 发票代码 |
++ invoice_number | 是 | array[] | 发票号码 |
++ invoice_rate | 是 | array[] | 金额 |
++ invoice_rate_in_figure | 是 | array[] | 金额小写 |
++ invoice_rate_in_word | 是 | array[] | 金额大写 |
++ Province | 是 | array[] | 省 |
++ City | 是 | array[] | 市 |
++ Location | 是 | array[] | 发票所在地 |
++ invoice_type | 是 | array[] | 发票名称 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 air_ticket,即“飞机行程单”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ name | 是 | array[] | 姓名 |
++ starting_station | 是 | array[] | 始发站 |
++ destination_station | 是 | array[] | 目的站 |
++ flight | 是 | array[] | 航班号 |
++ date | 是 | array[] | 日期 |
++ ticket_number | 是 | array[] | 电子客票号码 |
++ fare | 是 | array[] | 票价 |
++ dev_fund | 是 | array[] | 民航发展基金/基建费 |
++ oil_money | 是 | array[] | 燃油附加费 |
++ other_tax | 是 | array[] | 其他税费 |
++ ticket_rates | 是 | array[] | 合计金额 |
++ start_date | 是 | array[] | 填开日期 |
++ id_no | 是 | array[] | 身份证号 |
++ carrier | 是 | array[] | 承运人 |
++ time | 是 | array[] | 时间 |
++ issued_by | 是 | array[] | 订票渠道 |
++ serial_number | 是 | array[] | 印刷序号 |
++ insurance | 是 | array[] | 保险费 |
++ fare_basis | 是 | array[] | 客票级别 |
++ class | 是 | array[] | 座位等级 |
++ agent_code | 是 | array[] | 销售单位号 |
++ endorsement | 是 | array[] | 签注 |
++ allow | 是 | array[] | 免费行李 |
++ ck | 是 | array[] | 验证码 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 roll_normal_invoice,即“卷票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceType | 是 | array[] | 发票名称 |
++ InvoiceCode | 是 | array[] | 发票代码 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ MachineNum | 是 | array[] | 机打号码。仅增值税卷票含有此参数 |
++ MachineCode | 是 | array[] | 机器编号。仅增值税卷票含有此参数 |
++ InvoiceDate | 是 | array[] | 开票日期 |
++ PurchaserName | 是 | array[] | 购方名称 |
++ PurchaserRegisterNum | 是 | array[] | 购方纳税人识别号 |
++ SellerName | 是 | array[] | 销售方名称 |
++ SellerRegisterNum | 是 | array[] | 销售方纳税人识别号 |
++ TotalTax | 是 | array[] | 价税合计 |
++ AmountInWords | 是 | array[] | 合计金额(大写) |
++ AmountInFiguers | 是 | array[] | 合计金额(小写) |
++ Payee | 是 | array[] | 收款人 |
++ CheckCode | 是 | array[] | 校验码。增值税专票无此参数 |
++ Province | 是 | array[] | 省 |
++ City | 是 | array[] | 市 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
++ CommodityName | 是 | array[] | 货物名称 |
++ CommodityNum | 是 | array[] | 数量 |
++ CommodityPrice | 是 | array[] | 单价 |
++ CommodityAmount | 是 | array[] | 金额 |
+++ row | 是 | uint32 | 行号,以上各字段均包含 |
+++ word | 是 | string | 内容,以上各字段均包含 |
type 的返回结果为 printed_invoice,即“机打发票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceType | 是 | array[] | 发票类型 |
++ InvoiceCode | 是 | array[] | 发票代码 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ InvoiceDate | 是 | array[] | 开票日期 |
++ AmountInFiguers | 是 | array[] | 合计金额小写 |
++ AmountInWords | 是 | array[] | 合计金额大写 |
++ MachineNum | 是 | array[] | 机打号码 |
++ CheckCode | 是 | array[] | 校验码 |
++ SellerName | 是 | array[] | 销售方名称 |
++ SellerRegisterNum | 是 | array[] | 销售方纳税人识别号 |
++ PurchaserName | 是 | array[] | 购买方名称 |
++ PurchaserRegisterNum | 是 | array[] | 购买方纳税人识别号 |
++ TotalTax | 是 | array[] | 合计税额 |
++ Province | 是 | array[] | 省 |
++ City | 是 | array[] | 市 |
++ Time | 是 | array[] | 时间 |
++ SheetNum | 是 | array[] | 联次 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
++ CommodityName | 是 | array[] | 商品名称 |
++ CommodityUnit | 是 | array[] | 商品单位 |
++ CommodityPrice | 是 | array[] | 商品单价 |
++ CommodityNum | 是 | array[] | 商品数量 |
++ CommodityAmount | 是 | array[] | 商品金额 |
+++ row | 是 | uint32 | 行号,以上各字段均包含 |
+++ word | 是 | string | 内容,以上各字段均包含 |
type 的返回结果为 bus_ticket,即“汽车票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceCode | 是 | array[] | 发票代码 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ Date | 是 | array[] | 日期 |
++ Time | 是 | array[] | 时间 |
++ ExitStation | 是 | array[] | 出发站 |
++ Amount | 是 | array[] | 金额 |
++ IdCard | 是 | array[] | 身份证号 |
++ ArrivalStation | 是 | array[] | 到达站 |
++ Name | 是 | array[] | 姓名 |
++ InvoiceTime | 是 | array[] | 开票日期 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 toll_invoice,即“过路过桥费”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceCode | 是 | array[] | 发票代码 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ Entrance | 是 | array[] | 入口 |
++ Exit | 是 | array[] | 出口 |
++ OutDate | 是 | array[] | 日期 |
++ OutTime | 是 | array[] | 时间 |
++ TotalAmount | 是 | array[] | 金额 |
++ Province | 是 | array[] | 省 |
++ City | 是 | array[] | 市 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 ferry_ticket,即“船票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ InvoiceType | 是 | array[] | 发票类型 |
++ InvoiceCode | 是 | array[] | 发票代码 |
++ InvoiceNum | 是 | array[] | 发票号码 |
++ ExitStation | 是 | array[] | 出发地点 |
++ ArrivalStation | 是 | array[] | 到达地点 |
++ Amount | 是 | array[] | 总金额 |
++ Date | 是 | array[] | 开票日期 |
++ MoneyType | 是 | array[] | 金额类型 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 motor_vehicle_invoice,即“机动车销售发票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ date | 是 | array[] | 开票日期 |
++ fapiao-daima | 是 | array[] | 发票代码/机打代码 |
++ fapiao-haoma | 是 | array[] | 发票号码/机打号码 |
++ printed-daima | 是 | array[] | 机打代码 |
++ printed-haoma | 是 | array[] | 机打号码 |
++ machine-num | 是 | array[] | 机器编号 |
++ buyer-name | 是 | array[] | 购买方名称 |
++ payer-tax-num | 是 | array[] | 购买方身份证号码/组织机构代码 |
++ car-class | 是 | array[] | 车辆类型 |
++ car-model | 是 | array[] | 厂牌型号 |
++ product-location | 是 | array[] | 产地 |
++ certificate-num | 是 | array[] | 合格证号 |
++ engine-num | 是 | array[] | 发动机号码 |
++ vin-num | 是 | array[] | 车架号码 |
++ price-tax-big | 是 | array[] | 价税合计 |
++ price-tax-small | 是 | array[] | 价税合计小写 |
++ saler | 是 | array[] | 销货单位名称 |
++ saler-phone | 是 | array[] | 销货单位电话 |
++ saler-tax-num | 是 | array[] | 销货单位纳税人识别号 |
++ saler-bank-num | 是 | array[] | 销货单位账号 |
++ saler-address | 是 | array[] | 销货单位地址 |
++ saler-bank | 是 | array[] | 销货单位开户银行 |
++ tax-rate | 是 | array[] | 税率 |
++ tax | 是 | array[] | 税额 |
++ tax-jiguan | 是 | array[] | 主管税务机关 |
++ tax-jiguan-daima | 是 | array[] | 主管税务机关代码 |
++ price | 是 | array[] | 不含税价格 |
++ limit-mount | 是 | array[] | 限乘人数 |
++ toonage | 是 | array[] | 吨位 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 used_vehicle_invoice,即“二手车销售发票”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ invoice_code | 是 | array[] | 发票代码 |
++ invoice_num | 是 | array[] | 发票号码 |
++ date | 是 | array[] | 开票日期 |
++ tax_code | 是 | array[] | 税控码 |
++ buyer | 是 | array[] | 买方 |
++ buyer_id | 是 | array[] | 买方身份证号 |
++ buyer_station | 是 | array[] | 买方地址 |
++ buyer_tel | 是 | array[] | 买方电话 |
++ saler | 是 | array[] | 卖方 |
++ saler_id | 是 | array[] | 卖方身份证号 |
++ saler_station | 是 | array[] | 卖方地址 |
++ saler_tel | 是 | array[] | 卖方电话 |
++ car_plate | 是 | array[] | 车牌号 |
++ car_certificate | 是 | array[] | 登记证号 |
++ car_class | 是 | array[] | 车辆类型 |
++ vin_num | 是 | array[] | 车架号 |
++ model | 是 | array[] | 厂牌型号 |
++ to_station | 是 | array[] | 转入地车管所名称 |
++ big_price | 是 | array[] | 车价合计大写 |
++ small_price | 是 | array[] | 车价合计小写 |
++ car_market | 是 | array[] | 二手车市场 |
++ tax_num | 是 | array[] | 纳税人识别号 |
++ tax_location | 是 | array[] | 纳税人地址 |
++ tax_tel | 是 | array[] | 纳税人电话 |
++ sheet_num | 是 | array[] | 联次 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
type 的返回结果为 taxi_online_ticket,即“网约车行程单”时,识别结果的返回字段如下
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ service_provider | 是 | array[] | 服务商 |
++ start_time | 是 | array[] | 行程开始时间 |
++ destination_time | 是 | array[] | 行程结束时间 |
++ phone | 是 | array[] | 行程人手机号 |
++ application_date | 是 | array[] | 申请日期 |
++ total_fare | 是 | array[] | 总金额 |
++ item_num | 是 | array[] | 行程信息中包含的行程数量 |
+++ word | 是 | string | 识别结果字符串,以上各字段均包含 |
++ items | 是 | array[] | 行程信息 |
++++ item_id | 是 | array[] | 行程信息的对应序号 |
++++ pickup_time | 是 | array[] | 上车时间 |
++++ pickup_date | 是 | array[] | 上车日期 |
++++ car_type | 是 | array[] | 车型 |
++++ distance | 是 | array[] | 里程 |
++++ start_place | 是 | array[] | 起点 |
++++ destination_place | 是 | array[] | 终点 |
++++ city | 是 | array[] | 城市 |
++++ fare | 是 | array[] | 金额 |
当验真参数开启(即 verify_parameter=true 时),返回匹配发票验真接口所需的6要素信息
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
++ invoice_code | 是 | array[] | 发票代码 |
++ invoice_num | 是 | array[] | 发票号码 |
++ invoice_date | 是 | array[] | 开票日期。返回格式为 YYYYMMDD,例:20210101 |
++ invoice_type | 是 | array[] | 发票种类。不同类型发票输出如下结果:增值税专用发票:special_vat_invoice增值税电子专票:elec_special_vat_invoice增值税普通发票:normal_invoice增值税普通发票(电子):elec_normal_invoice增值税普通发票(卷式):roll_normal_invoice通行费增值税电子普通发票:toll_elec_normal_invoice货运运输业增值税专用发票:special_freight_transport_invoice机动车销售发票:motor_vehicle_invoice二手车销售发票:used_vehicle_invoice区块链发票:blockchain_invoice通用机打电子发票:printed_elec_invoice |
++ total_amount | 是 | array[] | 不含税金额 |
++ check_code | 否 | array[] | 检验码。如需使用百度的增值税发票验真接口,需提取返回值的后6位后,再传入验真接口 |
返回示例
{
"words_result": [
{
"type": "vat_invoice",
"width": 0,
"probability": 0.9980429411,
"height": 649,
"left": 154,
"top": 177,
"result": {
"AmountInWords": [
{
"word": "叁佰陆拾圆整"
}
],
"InvoiceNumConfirm": [
{
"word": "07286261"
}
],
"CommodityEndDate": [],
"CommodityVehicleType": [],
"CommodityStartDate": [],
"CommodityPrice": [
{
"row": "1",
"word": "339.62"
}
],
"NoteDrawer": [
{
"word": "余佳燕"
}
],
"SellerAddress": [],
"CommodityNum": [
{
"row": "1",
"word": "1"
}
],
"SellerRegisterNum": [
{
"word": "91330106673959654P"
}
],
"MachineCode": [],
"Remarks": [],
"SellerBank": [
{
"word": "招商银行杭州高新支行502905023610702"
}
],
"CommodityTaxRate": [
{
"row": "1",
"word": "6%"
}
],
"TotalTax": [
{
"word": "20.38"
}
],
"InvoiceCodeConfirm": [
{
"word": "3321192130"
}
],
"CheckCode": [],
"InvoiceCode": [
{
"word": "3321192130"
}
],
"InvoiceDate": [
{
"word": "2019年08月28日"
}
],
"PurchaserRegisterNum": [
{
"word": "91110911717743469K"
}
],
"InvoiceTypeOrg": [
{
"word": "浙江增值税专用发票"
}
],
"OnlinePay": [],
"Password": [
{
"word": "508>3909>1*>01/-46709-6/3+*7+8>/1*19+7-0**>+58290-6>647-+324865*9*1<*2191/7754/<0>2<838+//5-69--748*<251408<"
}
],
"Agent": [
{
"word": "否"
}
],
"AmountInFiguers": [
{
"word": "360.00"
}
],
"PurchaserBank": [
{
"word": "招商银行北京分行大电路支行866180100210002"
}
],
"Checker": [
{
"word": "柳余"
}
],
"City": [],
"TotalAmount": [
{
"word": "339.62"
}
],
"CommodityAmount": [
{
"row": "1",
"word": "339.62"
}
],
"PurchaserName": [
{
"word": "百度在线网络技术(北京)有限公司"
}
],
"CommodityType": [],
"Province": [
{
"word": "浙江"
}
],
"InvoiceType": [
{
"word": "专用发票"
}
],
"SheetNum": [
{
"word": "第二联:抵扣联"
}
],
"PurchaserAddress": [],
"CommodityTax": [
{
"row": "1",
"word": "20.38"
}
],
"CommodityPlateNum": [],
"CommodityUnit": [
{
"row": "1",
"word": "套"
}
],
"Payee": [
{
"word": "佳机"
}
],
"CommodityName": [
{
"row": "1",
"word": "*信息技术服务*软件服务费"
}
],
"SellerName": [
{
"word": "阿里云计算有限公司"
}
],
"InvoiceNum": [
{
"word": "07286261"
}
]
}
},
{
"type": "taxi_receipt",
"width": 0,
"probability": 0.9858493805,
"height": 615,
"left": 1325,
"top": 200,
"result": {
"PickupTime": [
{
"word": "10:50"
}
],
"DropoffTime": [
{
"word": "17:06"
}
],
"Time": [
{
"word": "10:50-17:06"
}
],
"City": [
{
"word": ""
}
],
"FuelOilSurcharge": [
{
"word": "1.00"
}
],
"Date": [
{
"word": "2019-03-20"
}
],
"Province": [
{
"word": "陕西省"
}
],
"CallServiceSurcharge": [
{
"word": "0.00"
}
],
"Fare": [
{
"word": "21.10"
}
],
"TotalFare": [
{
"word": "22.00"
}
],
"TaxiNum": [
{
"word": "AQ6353"
}
],
"PricePerkm": [
{
"word": "2.30"
}
],
"InvoiceCode": [
{
"word": "161001881016"
}
],
"Distance": [
{
"word": "6.0"
}
],
"InvoiceNum": [
{
"word": "05070716"
}
],
"Location": [
{
"word": "陕西省"
}
]
}
}
],
"words_result_num": 2,
"log_id": 1438382953545048984
}
增值税发票验真
支持 12 种增值税发票的信息核验,包括增值税专票、电子专票、普票、电子普票、卷票、区块链发票(深圳地区)、全电发票(增值税专用发票)、全电发票(普通发票)、通行费增值税电子普通发票、货物运输业增值税专用发票、机动车销售发票、二手车销售发票等,支持返回票面的全部信息。同时可直接与同平台的发票识别能力对接,完成发票识别的同时进行自动化验真。
# 调用增值税发票验真
options = {}
options["invoice_code"] = "011002000000"
options["invoice_num"] = "93705563"
options["invoice_date"] = "20210000"
options["invoice_type"] = "elec_normal_invoice"
options["check_code"] = "000000"
options["total_amount"] = "00.00"
result = client.vat_invoice_verification(options)
print(result)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
invoice_code | 是 | string | - | 发票代码。全电发票(专用发票)、全电发票(普通发票)此参数可为空,其他类型发票均不可为空 |
invoice_num | 是 | string | - | 发票号码 |
invoice_date | 是 | string | - | 开票日期。格式YYYYMMDD,例:20210101 |
invoice_type | 是 | string | 增值税专用发票:special_vat_invoice增值税电子专用发票:elec_special_vat_invoice增值税普通发票:normal_invoice增值税普通发票(电子):elec_normal_invoice增值税普通发票(卷式):roll_normal_invoice通行费增值税电子普通发票:toll_elec_normal_invoice 区块链电子发票(目前仅支持深圳地区):blockchain_invoice全电发票(专用发票):elec_invoice_special全电发票(普通发票):elec_invoice_normal货运运输业增值税专用发票:special_freight_transport_invoice机动车销售发票:motor_vehicle_invoice二手车销售发票:used_vehicle_invoice | 发票种类 |
check_code | 是 | string | - | 校验码。填写发票校验码后6位,增值税电子专票、普票、电子普票、卷票、区块链电子发票、通行费增值税电子普通发票此参数不可为空,其他类型发票可为空 |
total_amount | 是 | string | - | 发票金额。增值税专票、电子专票、货运专票、机动车销售发票填写不含税金额;二手车销售发票填写车价合计;全电发票(专用发票)、全电发票(普通发票)填写价税合计金额,其他类型发票可为空 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object{} | 识别结果 |
VerifyResult | 是 | string | 查验结果。查验成功返回“0001”,查验失败返回对应查验结果错误码,详见末尾表格 |
VerifyMessage | 是 | string | 查验结果信息。查验成功且发票为真返回“查验成功发票一致“,查验失败返回对应错误原因,详见末尾表格 |
VerifyFrequency | 是 | string | 查验次数。为历史查验次数 |
InvalidSign | 是 | string | 是否作废(冲红)。Y:已作废;H:已冲红;N:未作废 |
InvoiceType | 是 | string | 发票种类 |
InvoiceCode | 是 | string | 发票代码 |
InvoiceNum | 是 | string | 发票号码 |
CheckCode | 是 | string | 校验码 |
InvoiceDate | 是 | string | 开票日期 |
MachineCode | 是 | string | 机器编号 |
增值税专票、电子专票、普票、电子普通发票、卷票、通行费增值税电子普通发票、货物运输业增值税专用发票返回信息
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
+ PurchaserName | 是 | string | 购方名称 |
+ PurchaserRegisterNum | 是 | string | 购方纳税人识别号 |
+ PurchaserAddress | 是 | string | 购方地址及电话 |
+ PurchaserBank | 是 | string | 购方开户行及账号 |
+ CommodityName | 是 | array[] | 货物名称/项目名称 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityType | 是 | array[] | 规格型号 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityUnit | 是 | array[] | 单位 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityNum | 是 | array[] | 数量 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityPrice | 是 | array[] | 单价 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityAmount | 是 | array[] | 金额 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityTaxRate | 是 | array[] | 税率 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityTax | 是 | array[] | 税额 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ SellerName | 是 | string | 销售方名称 |
+ SellerRegisterNum | 是 | string | 销售方纳税人识别号 |
+ SellerAddress | 是 | string | 销售方地址及电话 |
+ SellerBank | 是 | string | 销售方开户行及账号 |
+ TotalAmount | 是 | string | 合计金额 |
+ TotalTax | 是 | string | 合计税额 |
+ AmountInFiguers | 是 | string | 价税合计(小写) |
+ TollSign | 是 | string | 通行费标志。Y-可抵扣通行费,N-不可抵扣通行费。通行费增值税电子普通发票返回信息,其他类型发票可忽略 |
+ ZeroTaxRateIndicator | 是 | string | 零税率标识。空:非零税率,1:税率栏位显示“免税”,2:税率栏位显示“不征税”,3:零税率。通行费增值税电子普通发票返回信息,其他类型发票可忽略 |
+ CommodityPlateNum | 是 | array[] | 车牌号。通行费增值税电子普通发票返回信息,其他类型发票可忽略 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityVehicleType | 是 | array[] | 类型。通行费增值税电子普通发票返回信息,其他类型发票可忽略 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityStartDate | 是 | array[] | 通行日期起。通行费增值税电子普通发票返回信息,其他类型发票可忽略 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ CommodityEndDate | 是 | array[] | 通行日期止。通行费增值税电子普通发票返回信息,其他类型发票可忽略 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ Carrier | 是 | string | 承运人名称。货运专票返回信息,其他类型发票可忽略 |
+ CarrierCode | 是 | string | 承运人识别号。货运专票返回信息,其他类型发票可忽略 |
+ Recipient | 是 | string | 受票方名称。货运专票返回信息,其他类型发票可忽略 |
+ RecipientCode | 是 | string | 受票方识别号。货运专票返回信息,其他类型发票可忽略 |
+ Receiver | 是 | string | 收货人名称。货运专票返回信息,其他类型发票可忽略 |
+ ReceiverCode | 是 | string | 收货人识别号。货运专票返回信息,其他类型发票可忽略 |
+ Sender | 是 | string | 发货人名称。货运专票返回信息,其他类型发票可忽略 |
+ SenderCode | 是 | string | 发货人识别号。货运专票返回信息,其他类型发票可忽略 |
+ TransportCargoInformation | 是 | string | 运输货物信息。货运专票返回信息,其他类型发票可忽略 |
+ DepartureViaArrival | 是 | string | 起运地、经由、到达地。货运专票返回信息,其他类型发票可忽略 |
+ TaxControlNum | 是 | string | 税控盘号。货运专票返回信息,其他类型发票可忽略 |
+ VehicleType | 是 | string | 车种车号。货运专票返回信息,其他类型发票可忽略 |
+ VehicleTonnage | 是 | string | 车船吨位。货运专票返回信息,其他类型发票可忽略 |
+ CommodityExpenseItem | 是 | array[] | 费用项目。货运专票返回信息,其他类型发票可忽略 |
++ row | 是 | uint32 | 行号 |
++ word | 是 | string | 内容 |
+ NoteDrawer | 是 | string | 开票人 |
+ Checker | 是 | string | 复核 |
+ Payee | 是 | string | 收款人 |
+ Remarks | 是 | string | 备注 |
+ ESVATURL | 是 | string | 增值税电子专票(即 ofd 发票)的下载地址 |
+ ListLabel | 是 | string | 清单标识,Y:带清单;N:无清单;说明:只有当发票种类为:增值税专票,电子专票,普票,电子普通发票时返回此字段的值 |
机动车销售发票返回信息
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
+ Purchaser | 是 | string | 购买方名称 |
+ PurchaserCode | 是 | string | 购买方身份证号/组织机构代码 |
+ VehicleType | 是 | string | 车辆类型 |
+ ManuModel | 是 | string | 厂牌型号 |
+ Origin | 是 | string | 产地 |
+ CertificateNum | 是 | string | 合格证号书 |
+ CommodityInspectionNum | 是 | string | 商检单号 |
+ EngineNum | 是 | string | 发动机号码 |
+ VinNum | 是 | string | 车辆识别代号/车架号码 |
+ ImportCertificateNum | 是 | string | 进口证明书号 |
+ TaxPaymentVoucherNum | 是 | string | 完税凭证号码 |
+ LimitPassenger | 是 | string | 限乘人数 |
+ TaxAuthor | 是 | string | 主管税务机关名称 |
+ TaxAuthorCode | 是 | string | 主管税务机关代码 |
+ Tonnage | 是 | string | 吨位 |
+ Price | 是 | string | 不含税价格 |
+ TaxRate | 是 | string | 税率 |
+ Tax | 是 | string | 税额 |
+ PriceTaxLow | 是 | string | 价税合计 |
+ Saler | 是 | string | 销货单位名称 |
+ SalerCode | 是 | string | 销货单位纳税人识别号 |
+ SalerBank | 是 | string | 销货单位开户银行 |
+ SalerAccountNum | 是 | string | 销货单位账号 |
+ SalerPhone | 是 | string | 销货单位电话 |
二手车销售发票返回信息
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
+ Purchaser | 是 | string | 买方单位/个人 |
+ PurchaserCode | 是 | string | 买方单位代码/身份证号 |
+ PurchaserAddress | 是 | string | 买方单位/个人住址 |
+ PurchaserPhone | 是 | string | 买方电话 |
+ Saler | 是 | string | 卖方单位/个人 |
+ SalerCode | 是 | string | 卖方单位代码/身份证号 |
+ SalerAddress | 是 | string | 卖方单位/个人住址 |
+ SalerPhone | 是 | string | 卖方电话 |
+ LicensePlateNum | 是 | string | 车牌照号 |
+ RegistrationCode | 是 | string | 登记证号 |
+ TotalCarPrice | 是 | string | 车价合计 |
+ TransferVehicleManagementOffice | 是 | string | 转入地车辆车管所名称 |
+ VehicleType | 是 | string | 车辆类型 |
+ ManuModel | 是 | string | 厂牌型号 |
+ VinNum | 是 | string | 车辆识别代号/车架号码 |
+ Operator | 是 | string | 经营、拍卖单位 |
+ OperatorAddress | 是 | string | 经营、拍卖单位地址 |
+ OperatorCode | 是 | string | 经营、拍卖单位纳税人识别号 |
+ OperatorBank | 是 | string | 开户银行及账号 |
+ OperatorPhone | 是 | string | 经营、拍卖单位电话 |
+ UsedCarMarket | 是 | string | 二手车市场 |
+ UsedCarMarketCode | 是 | string | 二手车市场纳税人识别号 |
+ UsedCarMarketAddress | 是 | string | 二手车市地址 |
+ UsedCarMarketBank | 是 | string | 二手车市场开户银行及账号 |
+ UsedCarMarketPhone | 是 | string | 二手车市场电话 |
查验结果错误码
查验结果(VerifyResult) | 查验结果信息(VerifyMessage) | 描述 |
---|---|---|
9999 | 查验失败 | 查验失败,业务出现异常,请提交工单咨询 |
0002 | 超过该张票当天查验次数 | 此发票今日查询次数已达上限(5次),请次日查询 |
0005 | 请求不合法 | 发票信息有误,请核对后再查询 |
0006 | 发票信息不一致 | 发票信息有误,请核对后再查询 |
0009 | 发票不存在 | 所查发票不存在 |
1004 | 已超过最大查验量 | 已超过最大查验量,请提交工单咨询 |
1005 | 查询发票不规范 | 信息有误,请核对后再查询 |
1006 | 查验异常 | 发票信息有误,请核对后再查询 |
1007 | 该批次已过期,请重新更换批次号查验 | 该批次已过期,请重新更换批次查验 |
1008 | 字段不能为空 | 发票请求参数不能为空 |
1009 | 参数长度不正确 | 参数长度不符合规范,确认参数,再次查验 |
1014 | 日期当天的不能查验 | 日期当天的不能查验,请隔天再查 |
1015 | 超过5年的不能查验 | 超过5年的不能查验 |
1020 | 没有查验权限 | 没有查验权限,请提交工单咨询 |
1021 | 网络超时 | 税局维护升级,暂时无法查验,请提交工单咨询 |
返回示例
// 增值税专票、电子专票、普票、电子普通发票、卷票、通行费增值税电子普通发票、货物运输业增值税专用发票
{
"words_result": {
"log_id": 1394226734160674816,
"words_result_num": 43,
"VerifyFrequency": "3",
"VerifyMessage": "查验成功发票一致",
"InvalidSign": "N",
"InvoiceType": "增值税普通发票(电子)",
"MachineCode": "661616300747",
"CheckCode": "67820461013285253079",
"InvoiceCode": "043002000111",
"InvoiceDate": "20210503",
"VerifyResult": "0001",
"InvoiceNum": "63509760"
"TaxControlNum": "",
"CommodityEndDate": [
{
"row": "1",
"word": ""
}
],
"VehicleTonnage": "",
"CommodityVehicleType": [
{
"row": "1"
}
],
"CommodityStartDate": [
{
"row": "1",
"word": ""
}
],
"SellerAddress": "湖南省长沙市天心区芙蓉中路三段446号0731-83592079",
"CommodityPrice": [
{
"row": "1",
"word": "28.20000000"
}
],
"TransportCargoInformation": "",
"NoteDrawer": "",
"CommodityNum": [
{
"row": "1",
"word": "1.00000000"
}
],
"SellerRegisterNum": "914301007121984812",
"SellerBank": "建行长沙铁银支行营业部43001710661050003739",
"Remarks": "账期:202104",
"TotalTax": "0.00",
"CommodityTaxRate": [
{
"row": "1",
"word": "不征税"
}
],
"CommodityExpenseItem": [
{
"row": "1",
"word": ""
}
],
"ZeroTaxRateIndicator": "",
"Carrier": "",
"SenderCode": "",
"PurchaserRegisterNum": "911101087877515792",
"ReceiverCode": "",
"AmountInFiguers": "28.20",
"PurchaserBank": "招商银行北京分行大屯路支行 866182028510003",
"Checker": "",
"TollSign": "",
"VehicleTypeNum": "",
"DepartureViaArrival": "",
"Receiver": "",
"Recipient": "",
"TotalAmount": "28.20",
"CommodityAmount": [
{
"row": "1",
"word": "28.20"
}
],
"PurchaserName": "百度时代网络技术(北京)有限公司",
"CommodityType": [
{
"row": "1",
"word": ""
}
],
"Sender": "",
"PurchaserAddress": "北京市海淀区东北旺西路8号中关村软件园17号楼二层A201059108001",
"CommodityTax": [
{
"row": "1",
"word": "***"
}
],
"CarrierCode": "",
"CommodityPlateNum": [
{
"row": "1",
"word": ""
}
],
"CommodityUnit": [
{
"row": "1",
"word": ""
}
],
"Payee": "",
"RecipientCode": "",
"CommodityName": [
{
"row": "1",
"word": "*电信服务*通讯费服务费"
}
],
"SellerName": "中国移动通信集团湖南有限公司长沙分公司"
},
}
// 机动车销售发票
{
"words_result": {
"log_id": 1394232842988290048,
"words_result_num": 24,
"VerifyFrequency": "1",
"VerifyMessage": "查验成功发票一致",
"InvalidSign": "N",
"InvoiceType": "机动车销售统一发票",
"MachineCode": "539927983",
"CheckCode": "",
"InvoiceCode": "13200378019836",
"InvoiceDate": "20210128",
"VerifyResult": "0001",
"InvoiceNum": "00342061"
"Origin": "中国",
"ManuModel": "东风日产牌DFL8",
"SalerBank": "工行支行",
"VehicleType": "多用途乘用车",
"Tax": "18238.29",
"TaxPaymentVoucherNum": "",
"CommodityInspectionNum": "",
"TaxAuthorCode": "1332803841100",
"VinNum": "LGBM464574",
"SalerPhone": "0513-8237861",
"LimitPassenger": "5",
"PurchaserCode": "211402199410176136",
"TaxAuthor": "国家税务总局海门市税务局三厂税务分局",
"Tonnage": "",
"ImportCertificateNum": "",
"Saler": "海门市海通汽车销售服务有限公司",
"SalerAccountNum": "1111527109002888833",
"Price": "145840.71",
"CertificateNum": "WAC224003769810",
"TaxRate": "13%",
"Purchaser": "郑如意",
"SalerCode": "9132068478280000007164",
"EngineNum": "43380M",
"PriceTaxLow": "1323800"
},
}
// 二手车销售发票
{
"words_result": {
"log_id": 1394233936539811840,
"words_result_num": 25,
"VerifyFrequency": "1",
"VerifyMessage": "查验成功发票一致",
"InvalidSign": "N",
"InvoiceType": "二手车销售统一发票",
"MachineCode": "66173004789204",
"CheckCode": "",
"InvoiceCode": "0323789200007",
"InvoiceDate": "20200509",
"VerifyResult": "0001",
"InvoiceNum": "002890341"
"Operator": "",
"TransferVehicleManagementOffice": "苏州市车管所",
"ManuModel": "JF1SH95F",
"RegistrationCode": "3200478903518",
"OperatorPhone": "",
"PurchaserCode": "320503782902308u425",
"Saler": "张散文",
"UsedCarMarketCode": "91320378038NCQUQXA",
"Purchaser": "张丽",
"OperatorCode": "",
"UsedCarMarketBank": "中国农业银行股份有限公司苏州分行清算中心10549001040001493",
"SalerAddress": "江苏省苏州市工业园区倪浜路3号",
"SalerCode": "411524199001016511",
"PurchaserPhone": "0",
"LicensePlateNum": "苏U1A666",
"VehicleType": "小型越野客车",
"OperatorBank": "",
"OperatorAddress": "",
"VinNum": "JF1SH78006596636",
"TotalCarPrice": "66000.00",
"SalerPhone": "",
"PurchaserAddress": "江苏省苏州市相城区元和莫阳村",
"UsedCarMarketPhone": "13182680222",
"UsedCarMarketAddress": "苏州高新区长江路668号(3号厂房)",
"UsedCarMarket": "苏州车市界二手车电子商务有限公司"
},
}
医疗发票识别
支持识别全国各地门诊/住院发票的 业务流水号、发票号、住院号、门诊号、病例号、姓名、性别、社保卡号、金额大/小写、收款单位、省市、医保统筹支付、个人账户支付 等关键字段,其中北京/广东/河北/河南/江苏/山东/上海/天津/浙江等地区票据识别效果较佳。支持识别收费项目明细,并可根据不同省市地区返回对应的识别参数。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用医疗发票识别
res_image = client.medicalInvoice(image)
res_url = client.medicalInvoiceUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["location"] = "true"
options["probability"] = "true"
res_image = client.medicalInvoice(image, options)
res_url = client.medicalInvoiceUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
location | 否 | string | true/false | 是否返回字段的位置信息,默认为 false,可缺省- false:不返回字段位置信息- true:返回字段的位置信息,包括上边距(top)、左边距(left)、宽度(width)、高度(height) |
probability | 否 | string | true/false | 是否返回字段识别结果的置信度,默认为 false,可缺省- false:不返回字段识别结果的置信度- true:返回字段识别结果的置信度,包括字段识别结果中各字符置信度的平均值(average)和最小值(min) |
返回参数详情
字段 | 是否必输出 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 调用日志id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
InvoiceType | 是 | string | 票据种类 |
Province | 是 | string | 省市:支持返回以下省市 北京/广东/河北/河南/江苏/山东/上海/天津/浙江等 |
words_result | 是 | object | 识别结果 |
+ BusinessNum | 是 | object | 业务流水号 |
+ InvoiceNum | 是 | object | 发票号码 |
+ HospitalNum | 是 | object | 住院号 |
+ HospitalName | 是 | object | 医院名称 |
+ RecordNum | 是 | object | 病例号 |
+ HospitalDay | 是 | object | 住院天数 |
+ AdmissionDate | 是 | object | 入院时间 |
+ DischargeDate | 是 | object | 出院时间 |
+ Name | 是 | object | 姓名 |
+ Sex | 是 | object | 性别 |
+ HospitalType | 是 | object | 医疗机构类型 |
+ SocialSecurityNum | 是 | object | 社保卡号 |
+ InsuranceType | 是 | object | 医保类型 |
+ ChargingUnit | 是 | object | 收款单位 |
+ Payee | 是 | object | 收款人 |
+ Date | 是 | object | 开票日期 |
+ AmountInWords | 是 | object | 大写合计金额 |
+ AmountInFiguers | 是 | object | 小写合计金额 |
+ InsurancePayment | 是 | object | 医保统筹支付 |
+ PersonalPayment | 是 | object | 个人账户支付 |
+ PrepayAmount | 是 | object | 预缴金额 |
+ PaymentAmount | 是 | object | 补缴金额 |
+ RefundAmount | 是 | object | 退费金额 |
+ ClinicNum | 是 | object | 门诊号 |
++ word | 是 | string | 字段识别结果,以上各字段均包含此参数 |
++ location | 否 | object | 字段位置信息,当请求参数 location=true 时,以上各字段均包含此参数 |
+++ top | 否 | uint32 | 字段的上边距 |
+++ left | 否 | uint32 | 字段的左边距 |
+++ height | 否 | uint32 | 字段的高度 |
+++ width | 否 | uint32 | 字段的宽度 |
++ probability | 否 | object | 字段识别结果置信度,当请求参数 probability=true 时,以上各字段均包含此参数 |
+++ average | 否 | float | 字段识别结果中各字符的置信度平均值 |
+++ min | 否 | float | 字段识别结果中各字符的置信度最小值 |
+ CostCategories | 是 | array[] | 项目大类:治疗费、检查费等项目大类 |
+ CostDetail | 是 | array[] | 明细类别:药物/检查的明细类别 |
+ RegionSupplement | 是 | array[] | 地区字段:根据省市返回改地区特有的字段 |
CostCategories字段包含多个array,每个数组包含多个object,见以下参数 |
字段 | 说明 |
---|---|
++ name | 字段名,包括:收费项目、金额 |
++ word | name字段对应的识别结果 |
CostDetail字段包含多个array,每个数组包含多个object,见以下参数 |
字段 | 说明 |
---|---|
++ name | 字段名,包括:编码、项目、规格、数量、单价、金额 |
++ word | name字段对应的识别结果 |
RegionSupplement字段包含多个object,不同省市返回字段不同,见以下参数 |
省市 | 返回参数(name) |
---|---|
北京 | 个人支付金额、其他医保支付、交易流水号、基金支付、单位补充险[原公疗]支付、年度门诊大额累计支付、本次医保范围内金额、本次支付后个人账户余额、残军补助支付、累计医保内范围金额、自付一、自付二、自费、起付金额、超封顶金额、退休补充支付、门诊大额支付 |
广东 | 个人支付金额、其他医保支付 |
河北 | 个人账户余额、统筹累计支付、自负、自费、起付标准 |
河南 | 个人支付金额、其他医保支付 |
江苏 | 个人支付金额、其他医保支付 |
山东 | 个人支付金额、其他医保支付 |
上海 | 分类自负、历年余额、本年余额、现金支付、自负、自费、附加支付 |
天津 | 个人支付金额、其他医保支付 |
浙江 | 历年余额、历年支付、基金支付、本年余额、本年支付、现金支付 |
返回示例
{
"log_id": 1397076899313745920,
"words_result_num": 28,
"Province": "北京",
"InvoiceType": "门诊发票"
"words_result": {
"AmountInWords": {
"word": "玖佰叁拾玖元肆角捌分"
},
"Sex": {
"word": "男"
},
"InsuranceType": {
"word": "城镇职工"
},
"Name": {
"word": "王成"
},
"SocialSecurityNum": {
"word": "T03419700077"
},
"DischargeDate": {
"word": "2016-01-01"
},
"HospitalNum": {
"word": "0937829032"
},
"HospitalName": {
"word": "北京市房山区良乡医院"
},
"CostCategories": [
[
{
"name": "收费项目",
"word": "西药费"
},
{
"name": "金额",
"word": "426.70"
}
],
[
{
"name": "收费项目",
"word": "中成药费"
},
{
"name": "金额",
"word": "512.78"
}
]
],
"RegionSupplement": [
{
"name": "其他医保支付",
"word": "0.00"
},
{
"name": "年度门诊大额累计支付",
"word": "83.79"
},
{
"name": "起付金额",
"word": "777.11"
},
{
"name": "基金支付",
"word": "101.75"
},
{
"name": "本次支付后个人账户余额",
"word": "0.00"
},
{
"name": "个人支付金额",
"word": "837.73"
},
{
"name": "交易流水号",
"word": "111100030Z160517006328"
},
{
"name": "自付一",
"word": "795.06"
},
{
"name": "自付二",
"word": "42.67"
},
{
"name": "累计医保内范围金额",
"word": "1419.70"
},
{
"name": "门诊大额支付",
"word": "83.79"
},
{
"name": "本次医保范围内金额",
"word": "896.81"
},
{
"name": "退休补充支付",
"word": "17.96"
},
{
"name": "超封顶金额",
"word": "0.00"
},
{
"name": "残军补助支付",
"word": "0.00"
},
{
"name": "单位补充险[原公疗]支付",
"word": "0.00"
},
{
"name": "自费",
"word": "42.67"
}
],
"ClinicNum": {
"word": "12169298"
},
"AmountInFiguers": {
"word": "939.48"
},
"AdmissionDate": {
"word": "2016-01-01"
},
"HospitalType": {
"word": "综合医院"
},
"RefundAmount": {
"word": "0.00"
},
"Date": {
"word": "2016年05月17日"
},
"ChargingUnit": {
"word": "房山区良乡医院"
},
"CostDetail": [
[
{
"name": "编码",
"word": "01"
},
{
"name": "项目",
"word": "阿托伐他汀钙胶囊"
},
{
"name": "规格",
"word": "10mg*7支"
},
{
"name": "数量",
"word": "10"
},
{
"name": "单价",
"word": "29.3200"
},
{
"name": "金额",
"word": "293.20"
}
],
[
{
"name": "编码",
"word": "02"
},
{
"name": "项目",
"word": "替米沙坦胶囊"
},
{
"name": "规格",
"word": "40mg*12粒"
},
{
"name": "数量",
"word": "5"
},
{
"name": "单价",
"word": "26.7000"
},
{
"name": "金额",
"word": "133.50"
}
],
],
"PaymentAmount": {
"word": "0.00"
},
"PrepayAmount": {
"word": "0.00"
},
"PersonalPayment": {
"word": "0.00"
},
"HospitalDay": {
"word": "15"
},
"BusinessNum": {
"word": "40091198916051710196"
},
"InsurancePayment": {
"word": "0.00"
},
"Payee": {
"word": "刘冰"
},
"RecordNum": {
"word": "0001268129"
},
"InvoiceNum": {
"word": "0103152099"
}
},
}
门脸文字识别
针对含有门脸/门头的图片进行专项优化,支持识别门脸/门头上的文字内容。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
# 调用门脸文字识别
res_image = client.facade(image)
print(res_image)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | string | - | 图像数据,base64编码后进行urlencode,base64编码去除编码头(data:image/jpeg;base64),要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 否 | array[] | 定位和识别结果数组 |
+ words | 否 | string | 识别结果字符串 |
+ score | 否 | float | words返回为主门脸名称的置信度评分 |
+ brief | 否 | string | 门脸副标题等周边描述 |
返回示例
{
"log_id": 341559937361307312,
"words_result_num": 3,
"words_result": [
{
"words": "生活超市",
"brief": "家得利",
"score": 0.80533
},
{
"words": "火火火火锅",
"score": 0.0112433
},
{
"words": "天天好便利店",
"score': 0.188124
}
]
}
车辆证照混贴识别
支持自动检测与识别行驶证、驾驶证混贴图片,即识别机动车行驶证主页及副页、机动车驾驶证主页及副页在同一张图片上的场景,一次性识别图片中多个行驶证、驾驶证的所有字段。
支持对机动车行驶证主页及副页所有22个字段进行结构化识别,包括号牌号码、车辆类型、所有人、品牌型号、车辆识别代码、发动机号码、核定载人数、质量、尺寸、检验记录等;支持对机动车驾驶证正页及副页所有15个字段进行结构化识别,包括证号、姓名、性别、国籍、住址、出生日期、初次领证日期、准驾车型、有效期限、发证单位、档案编号等。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用车辆证照混贴识别
res_image = client.mixed_multi_vehicle(image)
res_url = client.mixed_multi_vehicleUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["detect_direction"] = "true"
options["unified"] = "true"
res_image = client.mixed_multi_vehicle(image, options)
res_url = client.mixed_multi_vehicleUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
detect_direction | 否 | string | true/false | - false:默认值不进行图像方向自动矫正 - true: 开启图像方向自动矫正功能,可对旋转 90/180/270 度的图片进行自动矫正并识别 |
unified | 否 | string | true/false | - false:默认值,不进行归一化处理- true:对输出字段进行归一化处理,将新/老版行驶证的“注册登记日期/注册日期”统一为”注册日期“进行输出 |
返回参数详情
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
words_result | 是 | object | 识别结果 |
card_type | 是 | string | 证件类型,vehicle_front、vehicle_back、driving_front和driving_back,分别对应行驶证正、副页,驾驶证正、副页 |
direction | 否 | int32 | 图像方向,当图像旋转时,返回该参数。- - 1:未定义,- 0:正向,- 1:逆时针90度,- 2:逆时针180度,- 3:逆时针270度 |
probability | 是 | uint32 | 检测到证件的置信度 |
location | 是 | object | 证件位置数组(坐标0点为左上角) |
+ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
+ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
+ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
+ height | 是 | uint32 | 表示定位位置的长方形的高度 |
license_info | 是 | object | 识别结果信息,包含图片中多个行驶证、驾驶证的识别结果 |
+ word_name | 是 | string | 字段名,如果license_info对应行驶证,字段名包含号牌号码、车辆类型、所有人、品牌型号、车辆识别代码、发动机号码、核定载人数、质量、尺寸、检验记录等;如果license_info对应驾驶证,字段名包含证号、姓名、性别、国籍、住址、出生日期、初次领证日期、准驾车型、有效期限、发证单位、档案编号等 |
+ word | 是 | string | word_name字段对应的识别结果 |
返回示例
{
"words_result":[
{
"license_info":[
{
"word_name":"证号",
"word":"320621196512031267"
},
{
"word_name":"姓名",
"word":"程成"
},
{
"word_name":"性别",
"word":"男"
},
{
"word_name":"国籍",
"word":"中国"
},
{
"word_name":"住址",
"word":"江苏省南通市"
},
{
"word_name":"出生日期",
"word":"19651203"
},
{
"word_name":"初次领证日期",
"word":"20110311"
},
{
"word_name":"准驾车型",
"word":"B2"
},
{
"word_name":"有效起始日期",
"word":"20170311"
},
{
"word_name":"失效日期",
"word":"20270311"
},
{
"word_name":"发证单位",
"word":"江苏省南通市公安局交通警察支队"
}
],
"probability":0.99496907,
"location":{
"top":14,
"left":15,
"width":701,
"height":459
},
"card_type":"driving_front",
"direction":0
},
{
"license_info":[
{
"word_name":"证号",
"word":"320621196512031267"
},
{
"word_name":"姓名",
"word":"程成"
},
{
"word_name":"档案编号",
"word":"320601650706"
},
{
"word_name":"记录",
"word":"自2017年03月06日至有效起始日期有效。请于每个记分周期结束后三十日接受审验。无记分的,免予本次审验。"
}
],
"probability":0.9815229177,
"location":{
"top":7,
"left":731,
"width":650,
"height":456
},
"card_type":"driving_back",
"direction":0
},
{
"license_info":[
{
"word_name":"号牌号码",
"word":"京A10D08"
},
{
"word_name":"车辆类型",
"word":"小型面包车"
},
{
"word_name":"所有人",
"word":"王京"
},
{
"word_name":"住址",
"word":"北京市石景山区"
},
{
"word_name":"使用性质",
"word":"非营运"
},
{
"word_name":"品牌型号",
"word":"东风牌EQ6456PF"
},
{
"word_name":"车辆识别代号",
"word":"LGK022K69A9240616"
},
{
"word_name":"发动机号码",
"word":"10066180"
},
{
"word_name":"注册日期",
"word":"20100707"
},
{
"word_name":"发证日期",
"word":"20191020"
},
{
"word_name":"发证单位",
"word":"北京市公安局交通警察支队"
}
],
"probability":0.9907341003,
"location":{
"top":532,
"left":736,
"width":622,
"height":415
},
"card_type":"vehicle_front",
"direction":0
},
{
"license_info":[
{
"word_name":"号牌号码",
"word":"京A10D08"
},
{
"word_name":"备注",
"word":""
},
{
"word_name":"整备质量",
"word":"985kg"
},
{
"word_name":"核定载质量",
"word":""
},
{
"word_name":"外廓尺寸",
"word":"3660X1560X1925mm"
},
{
"word_name":"核定载人数",
"word":"7人"
},
{
"word_name":"总质量",
"word":"1565kg"
},
{
"word_name":"准牵引总质量",
"word":""
},
{
"word_name":"档案编号",
"word":""
},
{
"word_name":"检验记录",
"word":"2020年07月京A(03)"
},
{
"word_name":"燃油类型",
"word":"汽油"
}
],
"probability":0.9925737381,
"location":{
"top":554,
"left":12,
"width":609,
"height":416
},
"card_type":"vehicle_back",
"direction":0
}
],
"log_id":1420339917916065252,
"words_result_num":4
}
公式识别
支持对试卷中的数学公式及题目内容进行识别,可提取公式部分进行单独识别,也可对题目和公式进行混合识别,并返回Latex格式公式内容及位置信息,便于进行后续处理。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
# 调用公式识别
res_image = client.formula(image)
res_url = client.formulaUrl(url)
print(res_image)
print(res_url)
# 如果有可选参数
options = {}
options["recognize_granularity"] = "big"
options["detect_direction"] = "true"
options["disp_formula"] = "true"
res_image = client.formula(image, options)
res_url = client.formulaUrl(url, options)
print(res_image)
print(res_url)
请求参数详情
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和url二选一 | string | - | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效 |
url | 和image二选一 | string | - | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
recognize_granularity | 否 | string | big/small | 是否定位单字符位置,big:不定位单字符位置;small:定位单字符位置。默认值为big |
detect_direction | 否 | bool | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向。 |
disp_formula | 否 | bool | true/false | 是否分离输出公式识别结果,在words_result外单独输出公式结果,展示在“formula_result”中 |
返回参数详情
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | int32 | 图像方向,当detect_direction=true时存在。 - - 1:未定义, - 0:正向, - 1: 逆时针90度, - 2:逆时针180度, - 3:逆时针270度 |
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
words_result_num | 是 | uint32 | 识别结果数,表示words_result的元素个数 |
formula_result | 否 | bool | 是否返回单独公式识别结果,默认false |
formula_result_num | 否 | bool | 识别结果中的公式个数,表示formula_result的元素个数 |
words_result | 是 | array[] | 识别结果数组 |
+ location | 是 | object{} | 位置数组(坐标0点为左上角) |
++ left | 是 | uint32 | 表示定位位置的长方形左上顶点的水平坐标 |
++ top | 是 | uint32 | 表示定位位置的长方形左上顶点的垂直坐标 |
++ width | 是 | uint32 | 表示定位位置的长方形的宽度 |
++ height | 是 | uint32 | 表示定位位置的长方形的高度 |
+ words | 是 | string | 识别结果字符串 |
返回示例
{
"log_id": 2671713289176456793,
"direction": 0,
"formula_result_num": 3,
"formula_result": [
{
"location": {
"width": 258,
"top": 265,
"left": 450,
"height": 204
},
"words": "\\left\\{ \\begin{aligned} & x = - 1 1 \\\\ & y = 2 \\\\ \\end{aligned} \\right. "
},
{
"location": {
"width": 429,
"top": 546,
"left": 310,
"height": 203
},
"words": "\\left\\{ \\begin{aligned} & 3 x + 2 y = m \\\\ & n x - y = 2 \\\\ \\end{aligned} \\right. "
},
{
"location": {
"width": 142,
"top": 613,
"left": 1029,
"height": 71
},
"words": "m - \\left[ 1 0 0 , - \\infty \\right) "
}
],
"words_result_num": 5,
"words_result": [
{
"location": {
"width": 168,
"top": 313,
"left": 292,
"height": 110
},
"words": "已知"
},
{
"location": {
"width": 258,
"top": 265,
"left": 450,
"height": 204
},
"words": "\\left\\{ \\begin{aligned} & x = - 1 1 \\\\ & y = 2 \\\\ \\end{aligned} \\right. "
},
{
"location": {
"width": 582,
"top": 319,
"left": 728,
"height": 84
},
"words": "是二元一次方程组"
},
{
"location": {
"width": 429,
"top": 546,
"left": 310,
"height": 203
},
"words": "\\left\\{ \\begin{aligned} & 3 x + 2 y = m \\\\ & n x - y = 2 \\\\ \\end{aligned} \\right."
},
{
"location": {
"width": 780,
"top": 597,
"left": 745,
"height": 88
},
"words": "的解,则 m - \\left[ 1 0 0 , - \\infty \\right) 的值是()"
}
]
}
图文转换器(接口版)--提交请求
图文转换器对应的接口版产品,可识别图片/PDF文件中的文本内容,进行智能版式分析,并转换为保留原文档版式的Word、Excel文档,返回文档下载连接,支持含表格、印章、手写等内容的文档。满足文档版式还原、企业档案电子化等信息管理需求。如需直接在线使用轻应用,可到控制台-图文转换器使用。
""" 读取文件 """
def get_file_content(filePath):
with open(filePath, "rb") as fp:
return fp.read()
image = get_file_content('文件路径')
url = "https://www.x.com/sample.jpg"
pdf_file = get_file_content('文件路径')
# 图文转换器(接口版)--提交请求
res_image = client.docConvertRequestV1(image)
res_url = client.docConvertRequestV1Url(url)
res_pdf = client.docConvertRequestV1Pdf(pdf_file)
print(res_image)
print(res_url)
print(res_pdf)
请求参数详情
参数 | 是否必选 | 类型 | 说明 |
---|---|---|---|
image | 和 url/pdf_file 三选一 | string | 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级: image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file 三选一 | string | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式优先级: image > url > pdf_file,当image字段存在时url字段失效请注意关闭URL防盗链 |
pdf_file | 和 image/url 三选一 | string | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不不超过10M优先级: image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容;若不传入,默认识别文件所有页,页码从1开始 |
返回参数详情
字段 | 类型 | 说明 |
---|---|---|
success | bool | 当前请求状态; true 表示请求成功,false表示请求异常 |
log_id | uint64 | 唯一的log id,用于问题定位 |
result | dict | 返回的结果列表 |
+ task_id | string | 该请求生成的task_id,后续使用该task_id获取识别结果 |
code | int | 成功状态码 |
message | string | 详情 |
返回示例
成功返回示例:
{
"success":true,
"log_id": 12345,
"result":{
"task_id":"task-xxxxxxx",
},
"code":1001,
"message": "Create task successfully!"
}
失败返回示例(详细的错误码说明见API文档-错误码):
{
"success":false,
"log_id": 12345,
"error_code": 216401,
"error_msg": "Create task failed!"
}
图文转换器(接口版)--获取结果
task_id = "xxxxxx"
# 调用图文转换器(接口版)--获取结果
result = client.docConvertResultV1(task_id)
print(result)
请求参数详情
参数 | 是否必选 | 类型 | 说明 |
---|---|---|---|
task_id | 是 | string | 发送提交请求时返回的task_id |
返回参数详情
字段 | 类型 | 说明 |
---|---|---|
success | bool | 当前请求状态; true表示请求成功,false表示请求异常 |
log_id | uint64 | 唯一的log id,用于问题定位 |
result | dict | 返回的结果列表 |
+ task_id | string | 该文件对应请求的task_id |
+ ret_code | int | 识别状态,1:任务未开始;2:进行中;3:已完成 |
+ ret_msg | string | 识别状态信息:任务未开始;进行中;已完成 |
+ percent | int | 文档转换进度(百分比) |
+ result_data | dict | 识别结果字符串,返回word、excel的文件分别的下载地址 |
+ +word | string | 还原后的word文件的下载地址,文件识别失败时返回"" |
+ +excel | string | 还原后的Excel文件的下载地址,若文档中没有表格则返回"" |
+ create_time | datetime | 任务创建时间 |
+ start_time | datetime | 任务开始时间 |
+ end_time | datetime | 任务结束时间 |
code | int | 成功状态码 |
message | string | 详情 |
返回示例
成功返回示例:
{
"success":true,
"log_id": "xxxxxx",
"result":{
"task_id":"task-xxxxxxx",
"ret_code": 3,
"ret_msg": "已完成",
"percent": 100,
"result_data": {
"word": "word_download_url",
"excel": "",
},
"create_time": "2023-01-17 11:06:12",
"start_time": "2023-01-17 11:06:13",
"end_time": "2023-01-17 11:06:15"
},
"code":1001,
"message": "Query task successfully!""
}
若查询的task_id不存在, 返回result为{}。 请求失败响应体示例如下:
{
"code":1001,
"log_id":1635891796603052032,
"message":"Query task successfully!",
"result":{},
"success":true
}
表格文字识别(同步接口)
接口已下线,请使用表格文字识别V2,历史版本可查看表格文字识别(同步接口)。
表格文字识别(异步接口)--提交请求
接口已下线,请使用表格文字识别V2,历史版本可查看表格文字识别(异步接口)--提交请求。
表格文字识别(异步接口)--获取结果
接口已下线,请使用表格文字识别V2,历史版本可查看表格文字识别(异步接口)--获取结果。