Compare commits

...

3 Commits

Author SHA1 Message Date
330ed64ec2 #tradewind: fix ddns 2023-03-11 16:36:59 +08:00
e2755a8cf6 #tradewind: add OCR template 2023-02-12 21:47:09 +08:00
ede91ae16e #bugfix: fix COS config 2022-11-22 14:47:51 +08:00
5 changed files with 85 additions and 7 deletions

View File

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

View File

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

View File

@@ -4,10 +4,12 @@ require_once __DIR__ . '/../init.php';
global $globalConfig; global $globalConfig;
$bucket = $globalConfig['bucket']; $cosConfig = $globalConfig['COS'];
$secretId = $globalConfig['secretId'];
$secretKey = $globalConfig['secretKey']; $bucket = $cosConfig['bucket'];
$region = $globalConfig['region']; $secretId = $cosConfig['secretId'];
$secretKey = $cosConfig['secretKey'];
$region = $cosConfig['region'];
$cosClient = new Qcloud\Cos\Client( $cosClient = new Qcloud\Cos\Client(
@@ -40,7 +42,7 @@ try {
'StorageClass' => 'DEEP_ARCHIVE' 'StorageClass' => 'DEEP_ARCHIVE'
] ]
); );
var_dump(json_encode($result)); var_dump($result);
} }
} }
} }

View File

@@ -29,7 +29,7 @@ try {
} }
$realIp = shell_exec('curl -s -4 ip.sb'); $realIp = shell_exec('curl -s -4 ifconfig.me');
$realIp = str_replace("\n", "", $realIp); $realIp = str_replace("\n", "", $realIp);
if (!empty($realIp)) { if (!empty($realIp)) {

64
jobs/ocr.php Normal file
View File

@@ -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;
}