|
@@ -564,7 +564,7 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
if (dto.CardSide == 0) // 正面
|
|
|
{
|
|
|
- fileName = "行驶证识别-主页";
|
|
|
+ fileName = "行驶证识别-主页[CH]";
|
|
|
TextVehicleFront frontInfo = vlData.FrontInfo;
|
|
|
if (frontInfo != null)
|
|
|
{
|
|
@@ -582,14 +582,17 @@ namespace OASystem.API.Controllers
|
|
|
content += $"印章:{frontInfo.Seal ?? "Unknown"}\n";
|
|
|
}
|
|
|
|
|
|
- if (dto.language == 2) content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ if (dto.language == 2) {
|
|
|
+ fileName = "行驶证识别-主页[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
|
|
|
url = NPOICreateWord(fileName, content);
|
|
|
}
|
|
|
else if (dto.CardSide == 1) //反面
|
|
|
{
|
|
|
TextVehicleBack backInfo = vlData.BackInfo;
|
|
|
- fileName = "行驶证识别-副页";
|
|
|
+ fileName = "行驶证识别-副页[CH]";
|
|
|
|
|
|
if (backInfo != null)
|
|
|
{
|
|
@@ -606,7 +609,11 @@ namespace OASystem.API.Controllers
|
|
|
content += $"准牵引总质量:{backInfo.TotalQuasiMass ?? "Unknown"}\n";
|
|
|
}
|
|
|
|
|
|
- if (dto.language == 2) content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ if (dto.language == 2) {
|
|
|
+ fileName = "行驶证识别-副页[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
url = NPOICreateWord(fileName, content);
|
|
|
}
|
|
@@ -625,10 +632,14 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetPropOwnerCert(PropOwnerCertOCRDto dto)
|
|
|
{
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
+ var validator = new PropOwnerCertOCRDtoFoalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach (var valid in validatorRes.Errors) errors.AppendLine(valid.ErrorMessage);
|
|
|
+ return Ok(JsonView(false, errors.ToString()));
|
|
|
}
|
|
|
|
|
|
var pcData = await TencentOCRTools.GetOCR((int)TencentOCREnum.PropOwnerCert, dto);
|
|
@@ -644,7 +655,7 @@ namespace OASystem.API.Controllers
|
|
|
}
|
|
|
|
|
|
PropOwnerCertOCRResponse pocInfo = pcData.Data as PropOwnerCertOCRResponse;
|
|
|
- string fileName = "房产证识别";
|
|
|
+ string fileName = "房产证识别[CH]";
|
|
|
string content = "";
|
|
|
if (pocInfo != null) {
|
|
|
content += $"房地产权利人:{pocInfo.Owner}\n";
|
|
@@ -654,6 +665,11 @@ namespace OASystem.API.Controllers
|
|
|
content += $"房屋性质:{pocInfo.Nature}\n";
|
|
|
content += $"房地坐落:{pocInfo.Location}\n";
|
|
|
}
|
|
|
+ if (dto.language == 2)
|
|
|
+ {
|
|
|
+ fileName = "房产证识别[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
string url = NPOICreateWord(fileName, content);
|
|
|
|
|
|
return Ok(JsonView(new { dataSource = pocInfo, url = url }));
|
|
@@ -669,10 +685,13 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetMarriageLicense(GeneralBasicOCRDto dto)
|
|
|
{
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
+ var validator = new GeneralBasicOCRDtoFoalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach (var valid in validatorRes.Errors) errors.AppendLine(valid.ErrorMessage);
|
|
|
+ return Ok(JsonView(false,errors.ToString()));
|
|
|
}
|
|
|
|
|
|
var mlData = await TencentOCRTools.GetOCR((int)TencentOCREnum.GeneralBasic, dto);
|
|
@@ -687,7 +706,7 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(mlData.Msg));
|
|
|
}
|
|
|
|
|
|
- string fileName = "结婚证识别";
|
|
|
+ string fileName = "结婚证识别[CH]";
|
|
|
string content = "";
|
|
|
GeneralBasicOCRResponse data = mlData.Data as GeneralBasicOCRResponse;
|
|
|
List<TextDetection> infos = data.TextDetections.ToList();
|
|
@@ -696,6 +715,12 @@ namespace OASystem.API.Controllers
|
|
|
{
|
|
|
content += $"Content:{item.DetectedText}\n";
|
|
|
}
|
|
|
+ if (dto.language == 2)
|
|
|
+ {
|
|
|
+ fileName = "结婚证识别[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
+
|
|
|
string url = NPOICreateWord(fileName, content);
|
|
|
|
|
|
return Ok(JsonView(new { dataSource = infos, url = url }));
|
|
@@ -711,10 +736,13 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetUniformCreditCode(GeneralBasicOCRDto dto)
|
|
|
{
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
+ var validator = new GeneralBasicOCRDtoFoalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach (var valid in validatorRes.Errors) errors.AppendLine( valid.ErrorMessage);
|
|
|
+ return Ok(JsonView(false,errors.ToString()));
|
|
|
}
|
|
|
|
|
|
var gbData = await TencentOCRTools.GetOCR((int)TencentOCREnum.GeneralBasic, dto);
|
|
@@ -729,7 +757,7 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(gbData.Msg));
|
|
|
}
|
|
|
|
|
|
- string fileName = "统一信用代码识别";
|
|
|
+ string fileName = "统一信用代码识别[CH]";
|
|
|
string content = "";
|
|
|
GeneralBasicOCRResponse data = gbData.Data as GeneralBasicOCRResponse;
|
|
|
List<TextDetection> infos = data.TextDetections.ToList();
|
|
@@ -738,6 +766,13 @@ namespace OASystem.API.Controllers
|
|
|
{
|
|
|
content += $"Content:{item.DetectedText}\n";
|
|
|
}
|
|
|
+
|
|
|
+ if (dto.language == 2)
|
|
|
+ {
|
|
|
+ fileName = "统一信用代码识别[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
+
|
|
|
string url = NPOICreateWord(fileName, content);
|
|
|
|
|
|
return Ok(JsonView(new { dataSource = infos, url = url }));
|
|
@@ -753,10 +788,13 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetPassport(PassportOCRDto dto)
|
|
|
{
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
+ var validator = new PassportOCRDtoFoalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach (var valid in validatorRes.Errors) errors.AppendLine(valid.ErrorMessage);
|
|
|
+ return Ok(JsonView(false, errors.ToString()));
|
|
|
}
|
|
|
|
|
|
var pData = await TencentOCRTools.GetOCR((int)TencentOCREnum.Passport, dto);
|
|
@@ -766,15 +804,10 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(pData.Msg));
|
|
|
}
|
|
|
|
|
|
- if (pData.Data == null)
|
|
|
- {
|
|
|
- return Ok(JsonView(pData.Msg));
|
|
|
- }
|
|
|
-
|
|
|
string url = "";
|
|
|
#region 文档下载
|
|
|
|
|
|
- string fileName = "护照识别(中国大陆地区护照)";
|
|
|
+ string fileName = "护照识别(中国大陆地区护照)[CH]";
|
|
|
string content = $"";
|
|
|
PassportOCRResponse pInfo = pData.Data as PassportOCRResponse;
|
|
|
if (pInfo != null)
|
|
@@ -794,6 +827,12 @@ namespace OASystem.API.Controllers
|
|
|
content += $"最下方第一行 MRZ Code 序列:{pInfo.CodeSet ?? "Unknown"}\n";
|
|
|
content += $"最下方第二行 MRZ Code 序列:{pInfo.CodeCrc ?? "Unknown"}\n";
|
|
|
}
|
|
|
+
|
|
|
+ if (dto.language == 2) {
|
|
|
+ fileName = "护照识别(中国大陆地区护照)[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
+
|
|
|
url = NPOICreateWord(fileName, content);
|
|
|
|
|
|
#endregion
|
|
@@ -811,10 +850,13 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetMLIDPassport(MLIDPassportOCRDto dto)
|
|
|
{
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
+ var validator = new MLIDPassportOCRDtoFoavalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach (var valid in validatorRes.Errors) errors.AppendLine(valid.ErrorMessage);
|
|
|
+ return Ok(JsonView(false, errors.ToString()));
|
|
|
}
|
|
|
|
|
|
var mlidpData = await TencentOCRTools.GetOCR((int)TencentOCREnum.MLIDPassport, dto);
|
|
@@ -832,7 +874,7 @@ namespace OASystem.API.Controllers
|
|
|
string url = "";
|
|
|
#region 文档下载
|
|
|
|
|
|
- string fileName = "护照识别(港澳台地区及境外护照)";
|
|
|
+ string fileName = "护照识别(港澳台地区及境外护照)[CH]";
|
|
|
string content = $"";
|
|
|
MLIDPassportOCRResponse mlidInfo = mlidpData.Data as MLIDPassportOCRResponse;
|
|
|
|
|
@@ -846,6 +888,11 @@ namespace OASystem.API.Controllers
|
|
|
content += $"发行国:{mlidInfo.IssuingCountry ?? "Unknown"}\n";
|
|
|
content += $"国家地区代码:{mlidInfo.Nationality ?? "Unknown"}\n";
|
|
|
}
|
|
|
+ if (dto.language == 2)
|
|
|
+ {
|
|
|
+ fileName = "护照识别(港澳台地区及境外护照)[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
|
|
|
url = NPOICreateWord(fileName, content);
|
|
|
|
|
@@ -864,10 +911,13 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetBusinessCard(BusinessCardOCRDto dto)
|
|
|
{
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
+ var validator = new BusinessCardOCRDtoFoavalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach (var valid in validatorRes.Errors) errors.AppendLine(valid.ErrorMessage);
|
|
|
+ return Ok(JsonView(false,errors.ToString()));
|
|
|
}
|
|
|
|
|
|
var mlidpData = await TencentOCRTools.GetOCR((int)TencentOCREnum.BusinessCard, dto);
|
|
@@ -884,7 +934,7 @@ namespace OASystem.API.Controllers
|
|
|
string url = "";
|
|
|
#region 文档下载
|
|
|
|
|
|
- string fileName = "名片识别";
|
|
|
+ string fileName = "名片识别[CH]";
|
|
|
string content = $"";
|
|
|
BusinessCardOCRResponse bcData = mlidpData.Data as BusinessCardOCRResponse;
|
|
|
List<BusinessCardInfo> bcInfos = new List<BusinessCardInfo>();
|
|
@@ -895,6 +945,12 @@ namespace OASystem.API.Controllers
|
|
|
content += $"TypeName:{view?.Name ?? "Unknown"}\nContent:{view?.Value ?? "Unknown"}\n";
|
|
|
}
|
|
|
|
|
|
+ if (dto.language == 2)
|
|
|
+ {
|
|
|
+ fileName = "名片识别[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
+
|
|
|
url = NPOICreateWord(fileName, content);
|
|
|
|
|
|
#endregion
|
|
@@ -913,24 +969,16 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetSmartStructuralOCRV2(BusinessCardOCRDto dto)
|
|
|
{
|
|
|
- string[] picBase64Array = dto.picBase64.Split(';');
|
|
|
- string picFormat = picBase64Array[0].Split('/')[1];
|
|
|
- if (!TencentOCRTools.ImageType(picFormat))
|
|
|
+ var validator = new BusinessCardOCRDtoFoavalidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
{
|
|
|
- if (!picFormat.ToLower().Equals("pdf"))
|
|
|
- {
|
|
|
- return Ok(JsonView("图片格式不正确!只支持 PDF、PNG、JPG、JPEG、BMP 格式!"));
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ var errors = new StringBuilder();
|
|
|
+ foreach(var valid in validatorRes.Errors) { errors.AppendLine(valid.ErrorMessage); }
|
|
|
|
|
|
- double strSize = 1024 * 1024 * 7;
|
|
|
- if (dto.picBase64.Length > strSize)
|
|
|
- {
|
|
|
- return Ok(JsonView("图片不能大于7M!"));
|
|
|
+ return Ok(JsonView(false,errors.ToString()));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
var ssData = await TencentOCRTools.GetOCR((int)TencentOCREnum.SmartStructuralOCRV2, dto);
|
|
|
if (ssData.Code != 0)
|
|
|
{
|
|
@@ -941,7 +989,7 @@ namespace OASystem.API.Controllers
|
|
|
{
|
|
|
return Ok(JsonView(false, ssData.Msg));
|
|
|
}
|
|
|
- string fileName = "智能结构化识别V2";
|
|
|
+ string fileName = "智能结构化识别V2[CH]";
|
|
|
|
|
|
List<ocrGeneralView>? datas = ssData.Data as List<ocrGeneralView>;
|
|
|
|
|
@@ -951,6 +999,12 @@ namespace OASystem.API.Controllers
|
|
|
content += $"TypeName:{view.name}\nContent:{view.value}\n";
|
|
|
}
|
|
|
|
|
|
+ if (dto.language == 2)
|
|
|
+ {
|
|
|
+ fileName = "智能结构化识别V2[EN]";
|
|
|
+ content = await YouDaoApiTools.GetOCR_ReTrans(content);
|
|
|
+ }
|
|
|
+
|
|
|
string url = NPOICreateWord(fileName, content);
|
|
|
|
|
|
var data = new
|