前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对接有道OCR

对接有道OCR

作者头像
阿超
发布2022-09-28 16:07:15
1.5K0
发布2022-09-28 16:07:15
举报
文章被收录于专栏:快乐阿超

挑选朋友要慎重,更换朋友更要慎重——富兰克林

有道智云文档

代码如下:

代码语言:javascript
复制
package com.ruben;

import cn.hutool.core.codec.Base64;
import cn.hutool.core.lang.Console;
import cn.hutool.core.lang.UUID;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.extra.tokenizer.Word;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.setting.Setting;

import javax.sound.sampled.Line;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * YouDaoOcr
 *
 * @author VampireAchao
 * @since 2022/9/10
 */
public class YouDaoOcr {

    /**
     * 地址与鉴权信息,配置文件中
     */
    public static final Setting SETTING = new Setting("app.setting");


    public static void main(String[] args) {
        recognize(Base64.encode(HttpUtil.downloadBytes("https://vampireachao.gitee.io/imgs/preview/3051_3.jpg")));
    }

    public static void recognize(String base64Image) {
        String salt = UUID.fastUUID().toString();
        String curTime = String.valueOf(System.currentTimeMillis() / 1000);
        HttpRequest request = HttpUtil.createPost(SETTING.get("YOU_DAO_OCR_URL"))
                .form("detectType", "10012")
                .form("imageType", "1")
                .form("langType", "auto")
                .form("img", base64Image)
                .form("docType", "json")
                .form("signType", "v3")
                .form("curtime", curTime)
                .form("appKey", SETTING.get("YOU_DAO_APP_KEY"))
                .form("salt", salt)
                .form("sign", DigestUtil.sha256Hex(SETTING.get("YOU_DAO_APP_KEY") + truncate(base64Image) + salt + curTime + SETTING.get("YOU_DAO_APP_SECRET")));
        try (HttpResponse response = request.execute()) {
            Console.log(response.body());
        }
    }

    private static String truncate(String q) {
        if (q == null) {
            return null;
        }
        int len = q.length();
        return len <= 20 ? q : (q.substring(0, 10) + len + q.substring(len - 10, len));
    }
}

配置文件如下:

代码语言:javascript
复制
YOU_DAO_OCR_URL = https://openapi.youdao.com/ocrapi
YOU_DAO_APP_KEY = <YOUR_YOU_DAO_APP_KEY>
YOU_DAO_APP_SECRET = <YOUR_YOU_DAO_APP_SECRET>

执行结果如下:

image-20220910125752346
image-20220910125752346
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档