1.首先需要开通阿里云文字识别控制台
阿里云文字识别控制台 个人证照识别_卡证识别_个人身份核验_数据智能-阿里云 (aliyun.com)
2.官方文档
中国护照识别.Net SDK使用教程
RecognizeChinesePassport_印刷文字识别_API调试-阿里云OpenAPI开发者门户 (aliyun.com)
3.安装阿里云SDK(注意:是否与当前项目.Net环境兼容)
这里多说一点,我一开始在 .Net Framework项目中使用该包一直抛出异常(未解决),后来我换成.Net core项目才可以正常的使用

4.代码示例(注意:替换AccessKeyId和AccessKey Secret)
#region 阿里云中国护照识别
public static AlibabaCloud.SDK.Ocr_api20210707.Client CreateClient(string accessKeyId, string accessKeySecret)
{
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
{
// 必填,您的 AccessKey ID
AccessKeyId = accessKeyId,
// 必填,您的 AccessKey Secret
AccessKeySecret = accessKeySecret,
};
// Endpoint 请参考 https://api.aliyun.com/product/ocr-api
config.Endpoint = "ocr-api.cn-hangzhou.aliyuncs.com";
return new AlibabaCloud.SDK.Ocr_api20210707.Client(config);
}
/// <summary>
/// 识别中国护照
/// </summary>
/// <param name="img_stream">图片文件流</param>
/// <returns></returns>
public static result Passport_recognition(Stream img_stream)
{
result Result = new result
{
state = false,
data = null,
errMsg = ""
};
AlibabaCloud.SDK.Ocr_api20210707.Client client = CreateClient("您的 AccessKey ID", "您的 AccessKey Secret");
AlibabaCloud.SDK.Ocr_api20210707.Models.RecognizeChinesePassportRequest recognizeChinesePassportRequest = new AlibabaCloud.SDK.Ocr_api20210707.Models.RecognizeChinesePassportRequest();
recognizeChinesePassportRequest.Body = img_stream;
recognizeChinesePassportRequest.Url = "";
recognizeChinesePassportRequest.OutputFigure = true;
AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
try
{
// 复制代码运行请自行打印 API 的返回值
Result.data = client.RecognizeChinesePassportWithOptions(recognizeChinesePassportRequest, runtime);
Result.state = true;
}
catch (TeaException error)
{
Result.state = false;
Result.errMsg = error.Message;
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
catch (Exception _error)
{
Result.state = false;
Result.errMsg = _error.Message;
TeaException error = new TeaException(new Dictionary<string, object>
{
{ "message", _error.Message }
});
AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
}
return Result;
}
#endregion