老刘博客本文将介绍如何使用 API 3.0 Explorer 在线调试腾讯云文字识别OCR (Optical Character Recognition,光学字符识别)相关接口,并快速将该接口对应的腾讯云开发者工具套件(SDK) 集成到本地项目中。这里我们只需三步,就能轻松完成腾讯云文字识别接口调用。腾讯云文字识别OCR产品促销参见《腾讯云OCR限时特惠新用户9.9元享受千次服务》。
开通腾讯云文字识别服务
在调用文字识别相关接口前,您需要进入腾讯云文字识别控制台,申请开通对应的腾讯云文字识别服务。
服务开通成功后,我们将免费拥有该接口1000次/月的免费调用额度,同时也可以在文字识别购买页中购买对应文字识别服务的资源包,若免费额度以及资源包调用次数耗尽,接口计费将自动转为后付费方式按月进行结算,具体计费标准可以查看腾讯云文字识别OCR的购买指南。
调试腾讯云文字识别接口
文字识别服务开通成功后,进入文字识别 API 3.0 Explorer 在线接口调试页面,选择需要调用的接口,并填写个人密钥和输入参数。
(1)如何查看个人密钥?单击 查看密钥,进入控制台的 API 密钥管理界面,可查看您的个人密钥,若是新用户可单击【新建密钥】按钮创建个人密钥。
(2)输入参数的含义?在 API 3.0 Explorer 界面的【参数说明】选项卡中可以查看对应接口输入参数的具体含义。
其中,Region 参数为每个接口的必填参数,表示提供文字识别服务的资源所在区,单击 【Region】 的下拉框可以选择不同地域的腾讯云服务器,建议选择与访问点 IP 地址距离相近的地域:例如你的访问点在深圳,建议 Region 选择距离较近的华南地区(广州)。
填写好个人密钥和输入参数之后,选择代码生成选项卡,可以看到自动生成的不同编程语言代码(可支持 Java、Python、Node.js、PHP、GO、.NET 语言),生成代码中的部分字段信息和填写内容是关联的,如需调整传入参数,可在左侧修改参数值后重新生成代码。
填写好个人密钥和输入参数之后,选择【在线调用】选项卡,单击【发送请求】按钮可进行真实请求,供您调试、参考。
集成腾讯云文字识别SDK
确认本地依赖环境满足以下条件:
编程环境 | SDK 集成要求 |
---|---|
Node.js | 需要7.10.1版本及以上 |
Python | 需要2.7至3.6版本 |
Java | 需要 JDK 7版本及以上 |
Go | 需要 Go 1.9版本及以上 |
.Net | 需要 .NET Framework 4.5+ 和 .NET Core 2.1 |
PHP | 需要5.6.33版本及以上 |
C++ | 需要 GCC 4.8版本及以上的 C++编辑器和 cmake 3.0版本及以上的编译工具,暂时仅支持 Linux 环境,不支持 Windows 环境 |
安装与本地依赖环境对应的腾讯云文字识别SDK,下面将以 Node.js 为例说明 SDK 安装、使用的方法,其他语言的 SDK 使用方法请参考 腾讯云 SDK 使用手册 。
(1)通过 npm 安装(推荐):npm 是 Node.js 的包管理工具,执行以下安装命令:
npm install tencentcloud-sdk-nodejs --save
(2)通过源码包安装:前往 GitHub 代码托管地址 或者 快速下载地址,下载源码压缩包。解压源码包到您项目合适的位置。
SDK 安装完成后,可在你的项目代码中引用 API 3.0 Explorer 自动生成的代码, 以 Node.js 为例,简易 demo 示例如下:
const tencentcloud = require("../../../../tencentcloud-sdk-nodejs");
const OcrClient = tencentcloud.ocr.v20181119.Client;
const models = tencentcloud.ocr.v20181119.Models;
const Credential = tencentcloud.common.Credential;
const ClientProfile = tencentcloud.common.ClientProfile;
const HttpProfile = tencentcloud.common.HttpProfile;
let cred = new Credential(" SecretId ", " SecretKey ");
let httpProfile = new HttpProfile();
let clientProfile = new ClientProfile();
/*
推荐使用 V3 鉴权。当内容超过 1M 时,必须使用 V3 签名鉴权。除 Node SDK 外,其他语言 SDK 都支持 V3。
clientProfile.signMethod = "TC3-HMAC-SHA256";
*/
clientProfile.httpProfile = httpProfile;
let client = new OcrClient(cred, "ap-guangzhou", clientProfile);
let req = new models.IDCardOCRRequest();
req.ImageUrl = "[https://test.jpg](https://test.jpg/)";
req.CardSide = "FRONT";
let config = {"CropPortrait":true};
req.Config = JSON.stringify(config)
client.IDCardOCR(req, function(errMsg, response) {
if (errMsg) {
console.log(errMsg);
return;
}
console.log(response.to_json_string());
});
接入腾讯云OCR注意事项
SDK 调用公共参数时只需要关注 Region 字段,建议域名和 Region 统一使用 “ap-guangzhou”。
图片/视频转 Base64 时,需要去掉相关前缀data:image/jpg;base64,
和换行符\n
。如果SDK调用时出现如下情况报错:
[TencentCloudSDKException]message:AuthFailure.SignatureFailure-The provided credentials
could not be validated because of exceeding request size limit, please use new signature
method `TC3-HMAC-SHA256`. requestId:719970d4-5814-4dd9-9757-a3f11ecc9b20
则需要手动设置签名类型:
clientProfile.setSignMethod("TC3-HMAC-SHA256"); // 指定签名算法(默认为 HmacSHA256)
如果接口请求内容超过 1M,只能使用 V3 鉴权(TC3-HMAC-SHA256)。
文字识别 API 3.0 SDK 目前支持的语言包括:Node.js、Python、Java、PHP、Go、.Net、C++。如果您使用其他编程语言或者不想使用腾讯云 SDK,需要自行实现 V3 鉴权进行接口调用,如何实现请参考 Github 示例 。建议使用 API 3.0 Explorer 中签名串生成工具进行核验签名有效性。