1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using TencentCloud.Common;
- using TencentCloud.Ocr.V20181119.Models;
- using TencentCloud.Ocr.V20181119;
- using OASystem.Domain;
- using OASystem.TencentOCR;
- using OASystem.Domain.Dtos.Tencent;
- using System.Drawing;
- namespace OASystem.Tencent
- {
- /// <summary>
- /// 腾讯OCR Tools
- /// </summary>
- public class TencentOCRTool
- {
- /// <summary>
- /// 初始化 腾讯云账户密钥对 SecretId,SecretKey
- /// </summary>
- Credential cred = new Credential
- {
- SecretId = "AKIDoQUHLBELagatzoScfdMpMddMnz8apqIc",
- SecretKey = "hKiGbhkX5NWWXu3zDWwAATVK3e5sWuBB"
- };
- /// <summary>
- /// ocr识别
- /// </summary>
- /// <param name="picBase64">图片base64</param>
- /// <param name="ocrEnum">转换类型</param>
- /// <param name="data">请求数据源</param>
- /// <returns></returns>
- public Result GetOCR(TencentOCREnum ocrEnum, object data)
- {
- Result result = new Result { Code = -1, Msg = "未知错误", Data = null };
- OcrClient client = new OcrClient(cred, "ap-guangzhou");
- try
- {
- switch (ocrEnum)
- {
- case 0: //身份证识别
- IDCardOCRDto iDCardDto = (IDCardOCRDto)data;
- IDCardOCRRequest req = new IDCardOCRRequest();
- if (iDCardDto.CardSide == 0) req.CardSide = "FORNT";
- else if (iDCardDto.CardSide == 0) req.CardSide = "BACK";
- req.ImageBase64 = iDCardDto.picBase64;
- IDCardOCRResponse resp = client.IDCardOCRSync(req);
- result.Data = resp;
- break;
- }
- result.Code = 0;
- result.Msg = "成功";
- return result;
- }
- catch (Exception ex)
- {
- result.Msg = "类型:" + ex.Message;
- return result;
- }
- }
- /// <summary>
- /// 图片转Base64
- /// </summary>
- /// <param name="ImageFileName">图片的完整路径</param>
- /// <returns></returns>
- public string ImgToBase64(string ImageFileName)
- {
- try
- {
- Bitmap bmp = new Bitmap(ImageFileName);
- MemoryStream ms = new MemoryStream();
- bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
- byte[] arr = new byte[ms.Length];
- ms.Position = 0;
- ms.Read(arr, 0, (int)ms.Length);
- ms.Close();
- return Convert.ToBase64String(arr);
- }
- catch (Exception e)
- {
- return e.Message.ToString();
- }
- }
- }
- }
|