Как вызвать ocr.space API с базой 64 - PullRequest
2 голосов
/ 25 июня 2019

Я хочу вызвать ocr.space (https://ocr.space/ocrapi) OCR API с основанием 64 с использованием Java.

Я использовал следующий код, но получаю ошибку в выводе.

Код, который я использовал ...

try {
        URL obj = new URL("https://api.ocr.space/parse/image"); // OCR API Endpoints

        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        con.setRequestProperty("apikey", "******");

        con.setDoOutput(true);
        File file = new File("C:\\App_development\\OCRIMG.JPG");
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        InputStream finput = new FileInputStream(file);
        byte[] imageBytes = new byte[(int)file.length()];
        finput.read(imageBytes, 0, imageBytes.length);
        finput.close();
        String imageStr = Base64.encodeBase64String(imageBytes);
        wr.writeBytes(imageStr);
        wr.flush();
        wr.close();
        int responseCode = con.getResponseCode();


        System.out.println("Response Code : " + responseCode);

        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        //print result
        System.out.println(response.toString());
    }
    catch(Exception exx)
    {
        exx.printStackTrace();
    }

Исключение я получаю

Response Code : 200
{"OCRExitCode":0,"IsErroredOnProcessing":false,"ErrorMessage":["Parameter name '/9j/……..' is invalid. Valid parameters: apikey,url,language,isoverlayrequired,base64image,iscreatesearchablepdf,issearchablepdfhidetextlayer,filetype,addressparsing,scale,detectorientation,istable,ocrengine,detectcheckbox,checkboxtemplate","Please check if you need to URL encode the URL passed in request parameters."],"ProcessingTimeInMilliseconds":"4"}

Любая помощь будет сильно сокращена.

1 Ответ

0 голосов
/ 26 июня 2019

Вы видели здесь образец кода Java ?

И хотите ли вы загрузить файл или , используя строку Base64.Если base64 строка, то вам нужно использовать параметр «base64image».Вот тестовая строка base64 .Вы можете проверить это в Почтальон сначала,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...