|
发表于 2018-4-9 17:41:14
|
显示全部楼层
本帖最后由 007slm 于 2018-4-23 10:41 编辑
简单看了一眼百度sdk的api
推荐使用api识别
JSONObject res = client.basicGeneralUrl(url, options);
方案:
1. 引入百度sdk(这个你已经实现)
2. 基于数据为核心的思路 我们先设计data,在数据开发页面中新建data
OcrInfo
card 卡片 类型图片
cardValue 卡片识别出来的信息
3. 页面设计
基本上就是对OcrInfo的card绑定图片附件,然后用户可以上传图片
放一个按钮调用后台服务识别图片内容,调用服务参数传当前data的行id,识别结果写入到cardValue中
界面放一个text显示cardValue值
3. 服务开发
(这部分如果有一定的spring mvc spring data的开发经验 知道 spring中service的基本代码 比如repository概念,可以手写代码, 如果不知道这些可以通过请求设计中的画代码部分生成对OcrInfo的findOne逻辑 getValue setValue的代码逻辑,然后进入代码中copy 添加baidu sdk的调用逻辑)
新建服务/请求 在ide中开发对应请求的service代码
3.1 根据OcrInfoRepository.findOne("要识别的数据行id") 获取OcrInfo对象 getCard() 获取 card字段的内容 获取storeFileName值
3.2 java中发送http请求(微服务内部api调用暂时没有选用rpc方案) reqeust.getserverName() + /storage/presignedGetObject?objectName={storeFileName} 返回结果是个url
3.3 调用baidu sdk 通过url识别内容 得到结果 OcrInfo.setCardValue("ocr result")
3.4 请求返回200,前端按钮点击后发送服务请求事件中刷新data
你这个需求比较通过用 可以考虑下组件的方式开发这个需求 然后上传到组件市场 审核后别人使用可以挣钱的
|
|