Class 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:
    DocumentAnalysisClientBuilder
    • Method Detail

      • beginAnalyzeDocumentFromUrl

        public com.azure.core.util.polling.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 com.azure.core.util.polling.SyncPoller<DocumentOperationResult,​AnalyzeResult> beginAnalyzeDocumentFromUrl​(String modelId,
                                                                                                                               String documentUrl,
                                                                                                                               AnalyzeDocumentOptions analyzeDocumentOptions,
                                                                                                                               com.azure.core.util.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 com.azure.core.util.polling.SyncPoller<DocumentOperationResult,​AnalyzeResult> beginAnalyzeDocument​(String modelId,
                                                                                                                        InputStream 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());
         try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
        
             documentAnalysisClient.beginAnalyzeDocument(modelId, targetStream, 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 com.azure.core.util.polling.SyncPoller<DocumentOperationResult,​AnalyzeResult> beginAnalyzeDocument​(String modelId,
                                                                                                                        InputStream document,
                                                                                                                        long length,
                                                                                                                        AnalyzeDocumentOptions analyzeDocumentOptions,
                                                                                                                        com.azure.core.util.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());
        
         try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
             documentAnalysisClient.beginAnalyzeDocument(modelId, targetStream, 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.