当前位置: 首页 > wzjs >正文

贸易网站有哪些网站的推广方法有哪些

贸易网站有哪些,网站的推广方法有哪些,wordpress 自定义简码,wordpress需要钱吗一、技术选型 OCR服务&#xff1a;推荐使用百度AI 二、实现 1.注册一个服务 百度智能云控制台https://console.bce.baidu.com/ai-engine/ocr/overview/index?_1742309417611 填写完之后可以获取到app-id、apiKey、SecretKey这三个后面文件配置会用到 2、导入依赖 <!-- …

一、技术选型

OCR服务:推荐使用百度AI

二、实现

1.注册一个服务

百度智能云控制台https://console.bce.baidu.com/ai-engine/ocr/overview/index?_=1742309417611

填写完之后可以获取到app-idapiKeySecretKey这三个后面文件配置会用到

2、导入依赖

        <!-- Spring Boot Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.6.13</version></dependency><!-- 百度AI SDK(示例) --><dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.16.13</version></dependency><!--json依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.40</version></dependency>

3、配置文件

spring:servlet:multipart:max-request-size: 10MB # 文件上传最大值max-file-size: 10MB # 单个文件最大值
baidu:ai:app-id: ***** 换成自己的secret-key: ***** 换成自己的api-key: ***** 换成自己的

4、编写OCR工具类

import com.baidu.aip.ocr.AipOcr;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;import java.util.HashMap;
import java.util.Map;@Component
public class OcrService {@Value("${baidu.ai.app-id}")private String appId;@Value("${baidu.ai.api-key}")private String apiKey;@Value("${baidu.ai.secret-key}")private String secretKey;public Map<String, String> recognizeIdCard(MultipartFile file, boolean isFront) throws Exception {AipOcr client = new AipOcr(appId, apiKey, secretKey);// 读取图片字节byte[] imgData = file.getBytes();// 设置身份证正反面String idCardSide = isFront ? "front" : "back";// 设置其他识别选项(如果有)HashMap<String, String> options = new HashMap<String, String>();// 可以在这里添加其他选项,例如:// options.put("detect_direction", "true"); // 检测图像朝向// 调用身份证识别接口JSONObject res = client.idcard(imgData, idCardSide, options);// 检查返回结果if (res == null || !res.has("words_result")) {throw new Exception("OCR 识别失败: 返回结果为空或不包含 words_result");}// 解析结果Map<String, String> result = new HashMap<String, String>();JSONObject words = res.getJSONObject("words_result");// 根据正反面提取不同字段if (isFront) {result.put("姓名", words.optString("姓名", ""));result.put("性别", words.optString("性别", ""));result.put("民族", words.optString("民族", ""));result.put("出生日期", words.optString("出生年月日", ""));result.put("住址", words.optString("住址", ""));result.put("身份证号", words.optString("公民身份号码", ""));} else {result.put("签发机关", words.optString("签发机关", ""));result.put("有效期限", words.optString("失效日期", ""));}return result;}
}

5、文件上传接口

import com.alibaba.fastjson.JSON;
import com.cykj.service.OcrService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.util.HashMap;
import java.util.Map;@RestController
@RequestMapping("/api/idcard")
/*** 身份证识别控制器* 提供身份证图片上传和识别功能*/
public class IdCardController {@Autowiredprivate OcrService ocrService;/*** 上传身份证图片并进行识别* * @param frontFile 身份证正面图片* @param backFile 身份证反面图片* @return 身份证信息的Map,包括正面和反面的识别结果*/@PostMapping("/upload")public ResponseEntity<?> uploadIdCard(@RequestParam("frontFile") MultipartFile frontFile,@RequestParam("backFile") MultipartFile backFile) {System.out.println(frontFile);System.out.println(backFile);try {// 识别正面信息Map<String, String> frontInfo = ocrService.recognizeIdCard(frontFile, true);System.out.println("Front Info: " + frontInfo);// 识别反面信息Map<String, String> backInfo = ocrService.recognizeIdCard(backFile, false);System.out.println("Back Info: " + backInfo);// 合并结果Map<String, String> combined = new HashMap<String, String>();combined.putAll(frontInfo);combined.putAll(backInfo);// 身份证校验(示例)String idNumberJson = combined.get("身份证号");//解析获取身份证号com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(idNumberJson);String idNumber = jsonObject.getString("words");if (!validateIdCard(idNumber)) {return ResponseEntity.badRequest().body("身份证号校验失败");}return ResponseEntity.ok(combined);} catch (Exception e) {e.printStackTrace();return ResponseEntity.status(500).body("识别失败: " + e.getMessage());}}/*** 简单身份证号校验(正则表达式)* * @param idNumber 身份证号码字符串* @return 校验通过返回true,否则返回false*/private boolean validateIdCard(String idNumber) {String regex = "^[1-9]\\d{5}(19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]$";return idNumber != null && idNumber.matches(regex);}
}

三、前端写个测试页面

这边的action路径要改成自己的路径

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="http://localhost:8086/api/idcard/upload" method="post" enctype="multipart/form-data"><input type="file" name="frontFile" accept="image/*" required><input type="file" name="backFile" accept="image/*" required><button type="submit">上传并识别</button>
</form>
</body>
</html>

第一张为身份证正面(人)

第二张上传为身份证反面(国徽那面)

测试成功在页面和控制台都可以看见自己提取出来的信息就成功啦!

http://www.dtcms.com/wzjs/138249.html

相关文章:

  • 自己做网站怎么挣钱上海专业优化排名工具
  • 抓取的网站如何做seo廊坊seo管理
  • 网页设计素材加代码台州seo快速排名
  • 云南省住房和建设执业资格注册中心网站青岛网站建设与设计制作
  • 企业网站优化徽号liu7yin出本词效果抖快均可做a7百度关键字搜索量查询
  • 怎么样做钓鱼网站公司网站域名续费一年多少钱
  • 做pc端网站包括哪些泉州seo排名扣费
  • 果洛电子商务网站建设seo点击排名软件哪家好
  • 南昌网站搭建公司 赣ICP精准营销的案例
  • 泉州公司网站建设seo是哪里
  • 甘肃肃第八建设集团网站seo营销课程培训
  • 旅游网站建设流程步骤百度免费优化
  • 分站城市网站如何做seo网站推广应该怎么做?
  • 武汉做网站公司有哪些网站如何让百度收录自己的网站
  • 做网站优化推广推广普通话内容
  • 网站建设需要什么设备热搜榜上2023年热门话题
  • 专业开发网站多少钱网络运营推广合作
  • 校园社交网站怎么做淘宝流量平台
  • 程序员给别人做的网站违法了宁波网站关键词优化排名
  • 超溜网站建设新东方一对一辅导价格
  • 深圳网站开发公司h5域名注册入口
  • 衡水网站建设公司seo营销优化软件
  • 网站设计的主要内容2021年重大新闻事件
  • h5企业网站定制排名收录优美的图片
  • 青岛网站制作公司哪家正规上海还能推seo吗
  • 做一个展示型网站多少钱渠道推广策略
  • 网站数据库怎么做同步吗长尾关键词挖掘词
  • 深圳 做公司网站给你一个网站怎么优化
  • h5必备网站搜索大全引擎入口
  • 施工企业年度工作计划红头文件seo承诺排名的公司