模板 自定义view文件夹 中间件 路由和路由函数 自定义多个route文件 session无效 自定义多个公共函数 中间件别名和数据库连接 伪静态 自定义类库extends 以年月日+编号拼接id,且编号每天从0开始 跨域 宝塔面板新建网站403 网页包含过多重定向 缓存 路由绑定子域名 方法参数错误 php导出excel时身份证变成科学技术法 获取路由参数 生成二维码phpqrcode 使用腾讯OCR(扫描) thinkphp6微信支付回调不访问 查询构造器 导入导出excel:安装使用 导入导出Excel:按日期导出 tp6腾讯云短信 thinkphp unserialize(): Error chinese-calendar

使用腾讯OCR(扫描)

首页 > PHP > Thinkphp6 更新日期:2022-02-25 11:01:20

腾讯云给的api直接就能用。

首先,先下载腾讯OCR

composer require tencentcloud/tencentcloud-sdk-php

然后打开腾讯的线上调试地址

https://console.cloud.tencent.com/api/explorer?Product=ocr&Version=2018-11-19&Action=GeneralBasicOCR&SignVersion=

输入什么SecretId等参数之后,在右侧选择php,就会生成在php中使用的代码

<?php
require_once 'vendor/autoload.php';
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Ocr\V20181119\OcrClient;
use TencentCloud\Ocr\V20181119\Models\GeneralBasicOCRRequest;
try {
    $cred = new Credential("SecretId", "SecretKey");
    $httpProfile = new HttpProfile();
    $httpProfile->setEndpoint("ocr.tencentcloudapi.com");
      
    $clientProfile = new ClientProfile();
    $clientProfile->setHttpProfile($httpProfile);
    $client = new OcrClient($cred, "ap-beijing", $clientProfile);
    $req = new GeneralBasicOCRRequest();
    
    $params = array(
        "ImageUrl" => "https://other-1303057111.cos.ap-nanjing.myqcloud.com/shibie.jpg"
    );
    $req->fromJsonString(json_encode($params));
    $resp = $client->GeneralBasicOCR($req);
    print_r($resp->toJsonString());
}
catch(TencentCloudSDKException $e) {
    echo $e;
}

直接把代码放在控制器相应的位置,就能直接用了。值得一说的是,最上面那个autoload.php不需要写。

如果是本地环境,可能会报一个SSL错误

解决办法:

下载cacert.pem

将cacert.pem放到PHP根目录

然后打开PHP.ini,找到curl.cainfo,删除前面的“;”

然后curl.cainfo=cacert.pem的绝对路径,就是从盘符开始的绝对路径,F:/php/xxxxx

重启php服务器,就OVER了


标题导航