Class DocumentAnalysisClient

java.lang.Object
com.azure.ai.formrecognizer.DocumentAnalysisClient

public final class DocumentAnalysisClient extends Object
This class provides a synchronous client that contains the operations that apply to Azure Form Recognizer. Operations allowed by the client are analyzing information from documents and images using custom-built document analysis models, prebuilt models for invoices, receipts, identity documents and business cards, and the layout model.

Instantiating an asynchronous Document Analysis Client

 DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder()
     .credential(new AzureKeyCredential("{key}"))
     .endpoint("{endpoint}")
     .buildClient();
 
See Also:
  • Method Details

    • beginAnalyzeDocumentFromUrl

      public SyncPoller<DocumentOperationResult,AnalyzeResult> beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)
      Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document using any of the prebuilt models or a custom-built analysis model.

      The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support

      Code sample

      Analyze a document using the URL of the document.

       String documentUrl = "{document_url}";
       String modelId = "{custom_trained_model_id}";
      
       documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl).getFinalResult()
           .getDocuments().stream()
           .map(AnalyzedDocument::getFields)
           .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
               System.out.printf("Field text: %s%n", key);
               System.out.printf("Field value data content: %s%n", documentField.getContent());
               System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
           }));
      
       
      Parameters:
      modelId - The unique model ID to be used. Use this to specify the custom model ID or prebuilt model ID. Prebuilt model IDs supported can be found here
      documentUrl - The URL of the document to analyze.
      Returns:
      A SyncPoller to poll the progress of the analyze document operation until it has completed, has failed, or has been cancelled. The completed operation returns an AnalyzeResult.
      Throws:
      DocumentModelOperationException - If analyze operation fails and the AnalyzeResultOperation returns with an OperationStatus.FAILED..
      IllegalArgumentException - If documentUrl or modelId is null.
    • beginAnalyzeDocumentFromUrl

      public SyncPoller<DocumentOperationResult,AnalyzeResult> beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)
      Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document using any of the prebuilt models or a custom-built analysis model.

      The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support

      Code sample

      Analyze a document using the URL of the document with configurable options.

       String documentUrl = "{document_url}";
       String modelId = "{custom_trained_model_id}";
      
       documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl).getFinalResult()
           .getDocuments().stream()
           .map(AnalyzedDocument::getFields)
           .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
               System.out.printf("Field text: %s%n", key);
               System.out.printf("Field value data content: %s%n", documentField.getContent());
               System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
           }));
      
       
      Parameters:
      modelId - The unique model ID to be used. Use this to specify the custom model ID or prebuilt model ID. Prebuilt model IDs supported can be found here
      documentUrl - The source URL to the input document.
      analyzeDocumentOptions - The additional configurable options that may be passed when analyzing documents.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      A SyncPoller to poll the progress of the analyze document operation until it has completed, has failed, or has been cancelled. The completed operation returns an AnalyzeResult.
      Throws:
      DocumentModelOperationException - If analyze operation fails and the AnalyzeResultOperation returns with an OperationStatus.FAILED.
      IllegalArgumentException - If documentUrl or modelId is null.
    • beginAnalyzeDocument

      public SyncPoller<DocumentOperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document, long length)
      Analyzes data from documents using optical character recognition (OCR) using any of the prebuilt models or a custom-built analysis model.

      The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.

      Code sample

           File document = new File("{local/file_path/fileName.jpg}");
           String modelId = "{custom_trained_model_id}";
           byte[] fileContent = Files.readAllBytes(document.toPath());
      
           documentAnalysisClient.beginAnalyzeDocument(modelId, BinaryData.fromBytes(fileContent), document.length())
               .getFinalResult()
               .getDocuments().stream()
               .map(AnalyzedDocument::getFields)
               .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
                   System.out.printf("Field text: %s%n", key);
                   System.out.printf("Field value data content: %s%n", documentField.getContent());
                   System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
               }));
       }
       
      Parameters:
      modelId - The unique model ID to be used. Use this to specify the custom model ID or prebuilt model ID. Prebuilt model IDs supported can be found here
      document - The data of the document to analyze information from.
      length - The exact length of the data.
      Returns:
      A SyncPoller that polls the of progress of analyze document operation until it has completed, has failed, or has been cancelled. The completed operation returns an AnalyzeResult.
      Throws:
      DocumentModelOperationException - If analyze operation fails and the AnalyzeResultOperationreturns with an OperationStatus.FAILED.
      IllegalArgumentException - If document or modelId is null.
    • beginAnalyzeDocument

      public SyncPoller<DocumentOperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document, long length, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)
      Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document using any of the prebuilt models or a custom-built analysis model.

      The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.

      Code sample

      Analyze a document with configurable options.

       File document = new File("{local/file_path/fileName.jpg}");
       String modelId = "{custom_trained_model_id}";
       byte[] fileContent = Files.readAllBytes(document.toPath());
      
       documentAnalysisClient.beginAnalyzeDocument(modelId, BinaryData.fromBytes(fileContent), document.length(),
               new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")), Context.NONE)
           .getFinalResult()
           .getDocuments().stream()
           .map(AnalyzedDocument::getFields)
           .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
               System.out.printf("Field text: %s%n", key);
               System.out.printf("Field value data content: %s%n", documentField.getContent());
               System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
           }));
       
      Parameters:
      modelId - The unique model ID to be used. Use this to specify the custom model ID or prebuilt model ID. Prebuilt model IDs supported can be found here
      document - The data of the document to analyze information from.
      length - The exact length of the data.
      analyzeDocumentOptions - The additional configurable options that may be passed when analyzing documents.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      A SyncPoller that polls the of progress of analyze document operation until it has completed, has failed, or has been cancelled. The completed operation returns an AnalyzeResult.
      Throws:
      DocumentModelOperationException - If analyze operation fails and the AnalyzeResultOperation returns with an OperationStatus.FAILED.
      IllegalArgumentException - If document or modelId is null.