#tradewind: add OCR template

master
tradewind 2 years ago
parent ede91ae16e
commit e2755a8cf6
  1. 8
      composer.json
  2. 6
      etc/config.example.php
  3. 64
      jobs/ocr.php

@ -8,7 +8,13 @@
"require": {
"php": ">=7.1.0",
"qcloud/cos-sdk-v5": ">=2.0",
"tencentcloud/ocr": "^3.0",
"cloudflare/sdk": "^1.1",
"guzzlehttp/guzzle": "~6.0"
"guzzlehttp/guzzle": "~6.0",
"ext-json": "*"
}
,
"require-dev": {
"roave/security-advisories": "dev-latest"
}
}

@ -16,3 +16,9 @@ $globalConfig['COS'] = [
'secretKey' => 'secretKey', //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
'region' => 'region', //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
];
$globalConfig['OCR'] = [
'secretId' => 'secretId',
'secretKey' => 'secretKey',
];

@ -0,0 +1,64 @@
<?php
require_once __DIR__ . '/../init.php';
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Ocr\V20181119\Models\GeneralAccurateOCRRequest;
use TencentCloud\Ocr\V20181119\OcrClient;
use TencentCloud\Ocr\V20181119\Models\GeneralFastOCRRequest;
global $globalConfig;
$ocrConfig = $globalConfig['OCR'];
$secretId = $ocrConfig['secretId'];
$secretKey = $ocrConfig['secretKey'];
try {
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
$cred = new Credential($secretId, $secretKey);
// 实例化一个http选项,可选的,没有特殊需求可以跳过
$httpProfile = new HttpProfile();
$httpProfile->setEndpoint("ocr.tencentcloudapi.com");
// 实例化一个client选项,可选的,没有特殊需求可以跳过
$clientProfile = new ClientProfile();
$clientProfile->setHttpProfile($httpProfile);
// 实例化要请求产品的client对象,clientProfile是可选的
$client = new OcrClient($cred, "", $clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
// $req = new GeneralAccurateOCRRequest(); // 高精度
$req = new GeneralFastOCRRequest(); // 快速扫描
$params = array(
"ImageBase64" => "ImageBase64",
"ImageUrl" => "ImageUrl",
// 是否返回单字信息,默认关
"IsWords" => true,
// 是否开启原图切图检测功能,开启后可提升“整图面积大,但单字符占比面积小”(例如:试卷)场景下的识别效果,默认关
"EnableDetectSplit" => true,
// 是否开启PDF识别,默认值为false,开启后可同时支持图片和PDF的识别。
"IsPdf" => true,
// 需要识别的PDF页面的对应页码,仅支持PDF单页识别,当上传文件为PDF且IsPdf参数值为true时有效,默认值为1。
"PdfPageNumber" => 1
);
$req->fromJsonString(json_encode($params));
// 返回的resp是一个GeneralFastOCRResponse的实例,与请求对象对应
$resp = $client->GeneralFastOCR($req);
// 输出json格式的字符串回包
print_r($resp->toJsonString());
}
catch(TencentCloudSDKException $e) {
echo $e;
}
Loading…
Cancel
Save