智能OCR识别填报(结合EasyDL)

1 EasyDL OCR API调用示例(Java)

java


复制编辑
public class OCRService {
    private static final String API_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
    private static final String ACCESS_TOKEN = "YOUR_ACCESS_TOKEN";

    public static String ocrRecognize(String imagePath) throws IOException {
        byte[] imgData = Files.readAllBytes(Paths.get(imagePath));
        String imgBase64 = Base64.getEncoder().encodeToString(imgData);
        
        Map<String, String> params = new HashMap<>();
        params.put("image", imgBase64);

        String result = HttpUtil.post(API_URL + "?access_token=" + ACCESS_TOKEN, params);
        return result;  // 返回OCR解析结果
    }
}

2 SpringMVC 文件上传接口

java


复制编辑
@RestController
@RequestMapping("/ocr")
public class OCRController {

    @PostMapping("/upload")
    public ResponseEntity<Map<String, String>> uploadFile(@RequestParam("file") MultipartFile file) {
        try {
            String ocrResult = OCRService.ocrRecognize(file.getOriginalFilename());
            Map<String, String> response = new HashMap<>();
            response.put("ocrText", ocrResult);
            return ResponseEntity.ok(response);
        } catch (Exception e) {
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        }
    }
}

3 前端 Vue 代码(上传文件 + 预览 OCR 结果)

vue


复制编辑
<template>
  <el-upload action="/ocr/upload" :on-success="handleSuccess">
    <el-button type="primary">上传材料</el-button>
  </el-upload>
  <el-input v-model="ocrResult" placeholder="OCR 识别结果"></el-input>
</template>

<script>
export default {
  data() {
    return { ocrResult: "" };
  },
  methods: {
    handleSuccess(response) {
      this.ocrResult = response.ocrText;  // 展示OCR识别结果
    }
  }
};
</script>
posted @ 2025-03-07 18:10  空氧  阅读(164)  评论(0)    收藏  举报