OcrController.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.ruoyi.web.controller.common;
  2. import com.ruoyi.common.annotation.RepeatSubmit;
  3. import com.ruoyi.common.core.domain.AjaxResult;
  4. import com.ruoyi.common.core.domain.IdCardVo;
  5. import com.ruoyi.common.core.domain.SysUserIdcardVo;
  6. import com.ruoyi.common.utils.IdCardUtil;
  7. import com.ruoyi.system.domain.idcard.SysUserIdcard;
  8. import net.sourceforge.tess4j.ITesseract;
  9. import net.sourceforge.tess4j.Tesseract;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import java.io.File;
  15. /**
  16. * @Author: tjf
  17. * @Date: 2024/4/22 14:24
  18. * @Describe:
  19. */
  20. @RestController
  21. @RequestMapping("/ocr")
  22. public class OcrController {
  23. /**
  24. * 身份证识别
  25. *
  26. * @return
  27. */
  28. @PostMapping("/ocrIdCard")
  29. @RepeatSubmit(interval = 1000, message = "请求过于频繁")
  30. public AjaxResult ocrIdCard(@RequestBody IdCardVo idCardVo) {
  31. return IdCardUtil.idCard(idCardVo.getImage(),idCardVo.getIdCardSide());
  32. }
  33. /**
  34. * 营业执照识别
  35. *
  36. * @return
  37. */
  38. @PostMapping("/ocrBusinessLicense")
  39. @RepeatSubmit(interval = 1000, message = "请求过于频繁")
  40. public AjaxResult ocrBusinessLicense(@RequestBody IdCardVo idCardVo) {
  41. return IdCardUtil.businessLicense(idCardVo.getImage());
  42. }
  43. /**
  44. * 人脸识别百度V4版本
  45. *
  46. * @return
  47. */
  48. @PostMapping("/ocrSample")
  49. @RepeatSubmit(interval = 1000, message = "请求过于频繁")
  50. public AjaxResult ocrSample(@RequestBody SysUserIdcardVo sysUserIdcardVo) {
  51. return IdCardUtil.sample(sysUserIdcardVo);
  52. }
  53. /**
  54. * 人脸识别阿里云金融级实人认证
  55. *
  56. * @return
  57. */
  58. @PostMapping("/ocrSampleAliYun")
  59. @RepeatSubmit(interval = 1000, message = "请求过于频繁")
  60. public AjaxResult ocrSampleAliYun(@RequestBody SysUserIdcardVo sysUserIdcardVo) {
  61. return IdCardUtil.ocrSampleAliYun(sysUserIdcardVo);
  62. }
  63. /**
  64. * 手写识别
  65. *
  66. * @return
  67. */
  68. @PostMapping("/ocrHandWriting")
  69. @RepeatSubmit(interval = 1000, message = "请求过于频繁")
  70. public AjaxResult ocrHandWriting(@RequestBody IdCardVo idCardVo) {
  71. return IdCardUtil.ocrHandWriting(idCardVo.getImage());
  72. }
  73. }