简介:本文详细解析合合TextIn通用文字识别API的调用流程,涵盖环境准备、认证配置、API调用、结果解析及错误处理,助力开发者高效集成OCR功能。
在数字化转型浪潮中,文字识别(OCR)技术已成为企业提升效率的关键工具。合合TextIn作为国内领先的OCR解决方案提供商,其通用文字识别功能API凭借高精度、多语言支持及灵活部署特性,广泛应用于金融、物流、政务等领域。本文将从开发者视角,系统梳理TextIn API的调用全流程,助力快速实现OCR功能集成。
TextIn API支持RESTful接口调用,开发者需确保环境满足以下条件:
requests(Python)、OkHttp(Java)等HTTP客户端库示例(Python环境):
import requestsimport jsonimport base64
通过TextIn官方控制台完成以下步骤:
AppKey和AppSecret,用于后续签名验证安全建议:
TextIn采用HMAC-SHA256算法进行请求签名,流程如下:
method + "\n" +uri + "\n" +timestamp + "\n" +body
计算签名:
import hmacimport hashlibfrom urllib.parse import quotedef generate_sign(app_secret, method, uri, timestamp, body):raw_str = f"{method}\n{uri}\n{timestamp}\n{body}"sign = hmac.new(app_secret.encode('utf-8'),raw_str.encode('utf-8'),hashlib.sha256).hexdigest()return quote(sign)
典型请求结构如下:
url = "https://api.textin.com/v1/ocr/general"headers = {"X-TextIn-AppKey": "your_app_key","X-TextIn-Timestamp": str(int(time.time())),"X-TextIn-Sign": generate_sign(...),"Content-Type": "application/json"}data = {"image_base64": base64.b64encode(image_data).decode('utf-8'),"options": {"language_type": "CHN_ENG","character_type": "all","pdf_file_page": 1 # PDF场景使用}}response = requests.post(url, headers=headers, data=json.dumps(data))
关键参数说明:
language_type:支持中英(CHN_ENG)、日文(JAP)、韩文(KOR)等20+语言character_type:可指定印刷体(printed)、手写体(handwritten)或混合模式pdf_file_page:PDF文件需指定页码(从1开始)成功响应示例:
{"code": 200,"message": "success","data": {"words_result": [{"words": "合合信息","location": {"left": 10, "top": 20, "width": 100, "height": 30}},...],"words_result_num": 5}}
字段说明:
words_result:识别结果数组,每个元素包含文本内容和位置信息location:四角坐标(左上x,y;宽高),可用于文本定位words_result_num:识别文本总数对于大批量图片,建议:
/v1/ocr/general/async接口
async_url = "https://api.textin.com/v1/ocr/general/async"async_resp = requests.post(async_url, ...)task_id = async_resp.json()["data"]["task_id"]
def get_async_result(task_id):while True:result_url = f"https://api.textin.com/v1/ocr/general/async/{task_id}"resp = requests.get(result_url)if resp.json()["data"]["status"] == "DONE":return resp.json()time.sleep(1) # 避免频繁请求
启用表格识别需在options中添加:
{"table_recognition": true,"return_table_html": true # 返回HTML格式表格}
响应中将包含table_results字段,包含单元格坐标和内容。
| 错误码 | 含义 | 解决方案 |
|---|---|---|
| 40001 | 参数错误 | 检查image_base64是否有效 |
| 40003 | 签名失败 | 核对AppSecret和签名算法 |
| 40301 | 配额不足 | 升级套餐或联系客服 |
| 50000 | 服务异常 | 实现重试机制(建议指数退避) |
图片预处理:
并发控制:
缓存策略:
某银行实现信用卡申请表自动识别:
location信息匹配表单模板效果:单张表单处理时间从15分钟降至3秒,准确率达99.2%
某快递公司实现包裹面单信息采集:
language_type="ENG+CHN"效果:分拣效率提升40%,人工录入成本降低65%
合合TextIn通用文字识别API通过标准化的调用流程和丰富的功能选项,为开发者提供了高效、可靠的OCR解决方案。掌握本文所述的认证配置、请求构造、结果解析及错误处理等关键环节,即可快速实现各类文字识别场景的集成。建议开发者在实际应用中结合具体业务需求,灵活运用批量处理、表格识别等高级功能,同时注重性能优化和安全合规,以充分发挥TextIn API的技术价值。