操作场景
本文将为您介绍如何使用 API 3.0 Explorer 在线调试文字识别相关接口,并快速将该接口对应的腾讯云开发者工具套件(SDK) 集成到本地项目中。
操作步骤
只需三步,轻松完成腾讯云文字识别接口调用。
第一步:开通文字识别服务
在调用文字识别相关接口前,您需要进入 文字识别控制台,阅读《文字识别服务条款》后勾选同意并单击立即开通,即可一键开通通用文字、卡证文字、票据单据、汽车相关、行业文档、智能扫码服务接口,如需开通营业执照核验或增值税发票核验功能,可前往官网页服务介绍页申请开通,审核通过后即可使用该服务。
服务开通成功后,您将获得各项服务对应的免费调用额度,可在 资源包管理页 查看。同时您也可以在 文字识别购买页 中购买对应文字识别服务的资源包,若免费额度以及资源包调用次数耗尽,接口计费将自动转为后付费方式按月进行结算,具体计费标准可以查看文字识别的 购买指南。
第二步:调试文字识别接口
(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());});
注意事项
SDK 调用公共参数时只需要关注 Region 字段,建议域名和 Region 统一使用 “ap-guangzhou”。
图片/视频转 Base64 时,需要去掉相关前缀
data:image/jpg;base64,
和换行符\\n
。如果SDK调用时出现如下情况报错:[TencentCloudSDKException]message:AuthFailure.SignatureFailure-The provided credentialscould not be validated because of exceeding request size limit, please use new signaturemethod `TC3-HMAC-SHA256`. requestId:719970d4-5814-4dd9-9757-a3f11ecc9b20
则需要手动设置签名类型:
clientProfile.setSignMethod("TC3-HMAC-SHA256"); // 指定签名算法(默认为 HmacSHA256)
文字识别 API 3.0 SDK 目前支持的语言包括:Node.js、Python、Java、PHP、Go、.Net、C++。如果您使用其他编程语言或者不想使用腾讯云 SDK,需要自行实现 V3 鉴权进行接口调用,如何实现请参考 Github 示例 。建议使用 API 3.0 Explorer 中签名串生成工具进行核验签名有效性。