105 lines
2.8 KiB
Go
105 lines
2.8 KiB
Go
package tencent
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
|
|
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
|
|
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
|
|
ocr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ocr/v20181119"
|
|
)
|
|
|
|
type tencent struct {
|
|
secretId string
|
|
secretKey string
|
|
credential *common.Credential
|
|
}
|
|
|
|
var Tencent = tencent{}
|
|
|
|
func (that *tencent) Init(secretId, secretKey string) {
|
|
// 云市场分配的密钥Id
|
|
//secretId := "xxxx"
|
|
//// 云市场分配的密钥Key
|
|
//secretKey := "xxxx"
|
|
that.secretId = secretId
|
|
that.secretKey = secretKey
|
|
that.credential = common.NewCredential(
|
|
that.secretId,
|
|
that.secretKey,
|
|
)
|
|
}
|
|
|
|
func (that *tencent) OCRCOMPANY(base64Str string) string {
|
|
|
|
cpf := profile.NewClientProfile()
|
|
cpf.HttpProfile.Endpoint = "ocr.tencentcloudapi.com"
|
|
client, _ := ocr.NewClient(that.credential, "ap-guangzhou", cpf)
|
|
|
|
request := ocr.NewBizLicenseOCRRequest()
|
|
|
|
//request.ImageUrl = common.StringPtr("https://img0.baidu.com/it/u=2041013181,3227632688&fm=26&fmt=auto")
|
|
request.ImageBase64 = common.StringPtr(base64Str)
|
|
|
|
response, err := client.BizLicenseOCR(request)
|
|
if _, ok := err.(*errors.TencentCloudSDKError); ok {
|
|
fmt.Println("An API error has returned: %s", err)
|
|
return ""
|
|
}
|
|
if err != nil {
|
|
fmt.Println("An API error has returned: %s", err)
|
|
return ""
|
|
}
|
|
//fmt.Printf("%s", response.ToJsonString())
|
|
|
|
return response.ToJsonString()
|
|
}
|
|
|
|
func (that *tencent) OCR(base64Str string) string {
|
|
|
|
cpf := profile.NewClientProfile()
|
|
cpf.HttpProfile.Endpoint = "ocr.tencentcloudapi.com"
|
|
client, _ := ocr.NewClient(that.credential, "ap-guangzhou", cpf)
|
|
|
|
request := ocr.NewGeneralAccurateOCRRequest()
|
|
|
|
//request.ImageUrl = common.StringPtr("https://img0.baidu.com/it/u=2041013181,3227632688&fm=26&fmt=auto")
|
|
request.ImageBase64 = common.StringPtr(base64Str)
|
|
|
|
response, err := client.GeneralAccurateOCR(request)
|
|
if _, ok := err.(*errors.TencentCloudSDKError); ok {
|
|
fmt.Println("An API error has returned: %s", err)
|
|
return ""
|
|
}
|
|
if err != nil {
|
|
fmt.Println("An API error has returned: %s", err)
|
|
return ""
|
|
}
|
|
//fmt.Printf("%s", response.ToJsonString())
|
|
|
|
return response.ToJsonString()
|
|
}
|
|
|
|
func (that *tencent) Qrcode(base64Str string) string {
|
|
|
|
cpf := profile.NewClientProfile()
|
|
cpf.HttpProfile.Endpoint = "ocr.tencentcloudapi.com"
|
|
client, _ := ocr.NewClient(that.credential, "ap-guangzhou", cpf)
|
|
|
|
request := ocr.NewQrcodeOCRRequest()
|
|
|
|
request.ImageBase64 = common.StringPtr(base64Str)
|
|
|
|
response, err := client.QrcodeOCR(request)
|
|
if _, ok := err.(*errors.TencentCloudSDKError); ok {
|
|
fmt.Println("An API error has returned: %s", err)
|
|
return ""
|
|
}
|
|
if err != nil {
|
|
fmt.Println("An API error has returned: %s", err)
|
|
return ""
|
|
}
|
|
//fmt.Printf("%s", response.ToJsonString())
|
|
|
|
return response.ToJsonString()
|
|
}
|