Семейство облачных решений Aspose.OCR

Aspose.OCR Cloud позволяет выполнять оптическое распознавание символов и сканирование документов в облаке. Он поддерживает чтение и распознавание текста из наиболее часто используемых форматов растровых изображений (BMP, JPG, GIF, PNG, TIFF).Выполняйте распознавание символов на изображениях с меньшим количеством строк кода. Просто передайте определенное изображение в API Aspose.OCR Cloud, и он вернет ответ с распознанным текстом. API способен распознавать английский, французский, испанский текст и возвращает ответ в форматах XML или JSON. В этой статье мы рассмотрим шаги по выполнению OCR на изображениях с использованием Java SDK.

В процессе распознавания вы можете считывать символы, а также связанную с ними информацию о шрифте. Вы можете выполнить OCR для всего изображения или указать координаты X и Y для выполнения его для определенной части растрового изображения. Он также способен выполнять автоматическую коррекцию перекоса, а также автоматические и ручные операции по определению макета документа на высокой скорости, поскольку он не зависит от аппаратных ресурсов.

Независимый от платформы

Cloud API полностью независим от вашей операционной системы, системы баз данных или языка разработки, и вы можете использовать любой язык и платформу, поддерживающие HTTP, для взаимодействия с нашим API. Однако ручное написание клиентского кода может быть сложным, подверженным ошибкам и отнимающим много времени. Поэтому, чтобы облегчить нашим клиентам использование языка Java, опубликован специализированный для языка Aspose.OCR Cloud Java SDK. При использовании SDK он обрабатывает множество низкоуровневых деталей при выполнении запросов и обработке ответов и позволяет вам сосредоточиться на написании кода, специфичного для ваших конкретных потребностей проекта.

Распознать текст из URL-изображения

API Cloud OCR предоставляет возможность напрямую выполнять операции распознавания текста в файлах изображений, доступных через веб-URL. Вам не нужно загружать его исключительно в определенное облачное хранилище.

Фрагмент кода Java

private static OcrApi api;
private static final String url = "https://upload.wikimedia.org/wikipedia/commons/2/2f/Book_of_Abraham_FirstPage.png";

public static void main(String args[]) throws IOException {
  try {
	  		setUpConfig();
  } catch (Exception e) {
    // TODO Автоматически сгенерированный блок catch
    e.printStackTrace();
  }
  String text;

  text = recognizeByURL();
  System.out.println(text);
}

// метод распознавания текста с изображения, размещенного по URL
private static String recognizeByURL() {
  try {
    api = new ApiClient().createService(OcrApi.class);
    Call<ResponseBody> call = api.RecognizeFromUrl(url);
    Response<ResponseBody> res = call.execute();
    ResponseBody answer = res.body();

    com.aspose.ocr.OCRResponse ocrResponse = com.aspose.ocr.OCRResponse.Deserialize(answer);
    String text = ocrResponse.text;

    return text;
    } catch (IOException e) {
      e.printStackTrace();
      return "";
    }
}

private static void setUpConfig() throws Exception {
  Configuration.setAPP_SID("xxxxx");
  Configuration.setAPI_KEY("xxxxx");

  Configuration.setAuthPath("https://api.aspose.cloud/connect/token");
  Configuration.setBasePath("https://api.aspose.cloud/v3.0");
  Configuration.setUserAgent("WebKit");
  Configuration.setTestSrcDir("sourceTest");
  Configuration.setTestDstDir("destTest");

  if (Configuration.getAPI_KEY().isEmpty() || Configuration.getAPP_SID().isEmpty()) {
      System.out.println("! Error: Setup AppSID & AppKey in BaseTest Configuration");
      throw new Exception("Setup AppSID & AppKey in BaseTest Configuration");
    }
}

Распознавание текста с изображения в хранилище

Фрагмент кода Java

private static OcrApi api;

public static void main(String args[]) throws IOException {
  try {
	  		setUpConfig();
  } catch (Exception e) {
    // TODO Автоматически сгенерированный блок catch
    e.printStackTrace();
  }
  String text;

  text = recognizeByContent();
  System.out.println(text);
}

private static String recognizeByContent() {
  try {
      File f = new File(Configuration.getTestSrcDir(), "0.png");
      if (!f.exists()) {
      return "Error: recognizeByContentLang: file not found";
      }

      api = new ApiClient().createService(OcrApi.class);
      RequestBody requestBody = RequestBody.create(f,MediaType.parse("application/octet-stream"));
      Call<ResponseBody> call = api.RecognizeFromContent(requestBody);
      Response<ResponseBody> res = call.execute();

      ResponseBody answer = res.body();
      com.aspose.ocr.OCRResponse ocrResponse = com.aspose.ocr.OCRResponse.Deserialize(answer);
      String text = ocrResponse.text;

      return text;

  } catch (IOException e) {
      e.printStackTrace();
      return "";
  }
}

private static void setUpConfig() throws Exception {
  Configuration.setAPP_SID("xxxxx");
  Configuration.setAPI_KEY("xxxxx");

  Configuration.setAuthPath("https://api.aspose.cloud/connect/token");
  Configuration.setBasePath("https://api.aspose.cloud/v3.0");
  Configuration.setUserAgent("WebKit");
  Configuration.setTestSrcDir("sourceTest");
  Configuration.setTestDstDir("destTest");

  if (Configuration.getAPI_KEY().isEmpty() || Configuration.getAPP_SID().isEmpty()) {
      System.out.println("! Error: Setup AppSID & AppKey in BaseTest Configuration");
      throw new Exception("Setup AppSID & AppKey in BaseTest Configuration");
    }
}

команда cURL

API-интерфейсы Cloud также могут быть доступны через команды cURL, и, аналогично, Aspose.OCR Cloud также может быть доступен через команду cURL. Однако, обратите внимание, что для доступа к API нам необходимо сгенерировать токен доступа JWT на основе наших персонализированных учетных данных клиента. Пожалуйста, выполните следующую команду для генерации токена доступа JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

После генерации токена JWT используйте следующую команду для выполнения OCR на изображениях.

curl "https://api.aspose.cloud/v3.0/ocr/MyImage.png/recognize?language=1" \
-X GET \
-H  "accept: application/json" \
-H  "authorization: Bearer <jwt token>"

Запросить URL-адрес

https://api.aspose.cloud/v3.0/ocr/MyImage.png/recognize?language=1

Тело ответа

{
  "text": "MOORE STEPHENS",
  "code": 200
}

Заключение

В этой статье мы обсудили детали того, как выполнять OCR на изображениях. Также мы изучили варианты выполнения операций оптического распознавания символов на изображениях с помощью команд cURL. Обратите внимание, что полный исходный код SDK доступен на GitHub. Аналогичным образом мы также рекомендуем узнать больше об API, изучив продукт Documentation.

Похожие статьи