有个想法就是想把图片上不可编辑的的表格给抓取出来,生成Excel,发到用户绑定的邮箱,也不是什么新技术了,百度ai以及其他各ai平台均有文字识别的功能,咱不会写这算法,调用也行,我的步骤是在自己的公众号接入这个功能。实现步骤如下:
1,百度ai调用api或者使用SDK调用方式,我使用的SDK的方式,在官网下载文字识别OCR模块的jar包,按照他的使用指引来即可。导个链接吧百度AI表格识别,按照步骤引入到自己的java项目来就好了。
2,微信公众号端实现点击菜单键向后台传图,后台收到图片后将其进行识别。servlet层实现代码如下:
//处理微信公众号客户端发过来的消息和事件推送,这个parseRequest将微信端传过来的xml数据包转换成map对象按照您自己的处理方法来就行
Map<String, String> requestMap = WxService.parseRequest(request.getInputStream());
PrintWriter writer = response.getWriter();
System.out.println("MsgType: "+requestMap.get("MsgType"));
//获取图片后,调用客服接口响应一下微信端,以免微信端重复请求微信端显示服务器无法提供服务等东西,异步响应就可以了,毕竟我们获取图片还要做正事滴
if (requestMap.get("MsgType").equals("image")) {
try {
Thread t = new Thread(() -> {
if (WxService.getPhotoStatus().equals("")) {
WxService.sendKfMsg(requestMap.get("FromUserName"), "你发给我的照片真美!我很喜欢。");
} else {
WxService.sendKfMsg(requestMap.get("FromUserName"), "马上就好,稍等...");
}
});
t.start();
} catch (Exception e) {
e.printStackTrace();
} finally {
writer.print("success");
writer.flush();
writer.close();
}
if (WxService.getPhotoStatus().equals("表格文字识别")) {
WxService.dealTableImageToMsgByBaiduAi(requestMap