Partager via


DocumentAnalysisAsyncClient Classe

  • java.lang.Object
    • com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient

public final class DocumentAnalysisAsyncClient

Cette classe fournit un client asynchrone pour se connecter au Form Recognizer Azure Cognitive Service.

Ce client fournit des méthodes asynchrones pour effectuer les opérations suivantes :

  1. Analyse des documents personnalisés : classification, extraction et analyse des données de formulaires et de documents spécifiques à des données métier et à des cas d’usage distincts. Utilisez le modèle entraîné personnalisé en passant son modelId dans la com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) méthode .
  2. Analyse de document générale : extrayez du texte, des tables, de la structure et des paires clé-valeur. Utilisez le modèle de document général fourni par le service Form Recognizer en passant modelId="reconstruit-document » dans la com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) méthode.
  3. Analyse de modèle prédéfinie : analyser les reçus, les cartes de visite, les factures, les ID, les W2 et d’autres documents avec supported prebuilt models. Use the prebuilt receipt model provided by passing modelId="prebuilt-receipt" into the com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) method.
  4. Analyse de la disposition : extrayez du texte, des marques de sélection et des structures de tableaux, ainsi que leurs coordonnées de zone englobante, à partir de formulaires et de documents. Utilisez le modèle d’analyse de la disposition fourni par le service en passant modelId="prebuilt-layout » dans la com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) méthode.
  5. Interrogation et rappels : il comprend des mécanismes permettant d’interroger le service pour case activée la status d’une opération d’analyse ou d’inscrire des rappels pour recevoir des notifications une fois l’analyse terminée.

Ce client fournit également différentes méthodes basées sur les entrées d’une URL et les entrées d’un flux.

Note: Ce client prend uniquement en charge V2022_08_31 et plus récent. Pour utiliser une version de service antérieure, FormRecognizerClient et .formrecognizer.training.FormTrainingClient.

Les clients de service sont le point d’interaction permettant aux développeurs d’utiliser Azure Form Recognizer. DocumentAnalysisClient est le client de service synchrone et DocumentAnalysisAsyncClient est le client de service asynchrone. Les exemples présentés dans ce document utilisent un objet d’informations d’identification nommé DefaultAzureCredential pour l’authentification, ce qui est approprié pour la plupart des scénarios, y compris les environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser l’identité managée pour l’authentification dans les environnements de production. Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity .

Exemple : Construire un DocumentAnalysisAsyncClient avec DefaultAzureCredential

L’exemple de code suivant illustre la création d’un DocumentAnalysisAsyncClient, à l’aide de « DefaultAzureCredentialBuilder » pour le configurer.

DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder()
     .endpoint("{endpoint}")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildAsyncClient();

En outre, consultez l’exemple de code ci-dessous à utiliser pour la AzureKeyCredential création du client.

DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder()
     .credential(new AzureKeyCredential("{key}"))
     .endpoint("{endpoint}")
     .buildAsyncClient();

Résumé de la méthode

Modificateur et type Méthode et description
PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

PollerFlux<OperationResult,AnalyzeResult> beginClassifyDocument(String classifierId, BinaryData document)

Classifier un document donné à l’aide d’un classifieur de document.

PollerFlux<OperationResult,AnalyzeResult> beginClassifyDocumentFromUrl(String classifierId, String documentUrl)

Classifier un document donné à l’aide d’un classifieur de document.

Méthodes héritées de java.lang.Object

Détails de la méthode

beginAnalyzeDocument

public PollerFlux beginAnalyzeDocument(String modelId, BinaryData document)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.

Notez que le data passé doit être rejouable si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux doit produire les mêmes données chaque fois qu’il est abonné.

Code sample

Analyser un document.

File document = new File("{local/file_path/fileName.jpg}");
 String modelId = "{model_id}";
 // Utility method to convert input stream to Binary Data
 BinaryData buffer = BinaryData.fromStream(new ByteArrayInputStream(Files.readAllBytes(document.toPath())));

 documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, buffer)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult ->
         analyzeResult.getDocuments()
             .forEach(analyzedDocument ->
                 analyzedDocument.getFields()
                     .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 - ID de modèle unique à utiliser. Utilisez cette option pour spécifier l’ID de modèle personnalisé ou l’ID de modèle prédéfini. Les ID de modèle prédéfinis pris en charge sont disponibles ici
document - Données du document à partir de laquelle analyser les informations.

Returns:

PollerFlux<T,U> qui interroge la progression de l’opération d’analyse du document jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne un AnalyzeResult.

beginAnalyzeDocument

public PollerFlux beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.

Notez que le data passé doit être rejouable si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux doit produire les mêmes données chaque fois qu’il est abonné.

Code sample

Analysez un document avec des options configurables. .

File document = new File("{local/file_path/fileName.jpg}");
 String modelId = "{model_id}";
 final AnalyzeDocumentOptions analyzeDocumentOptions =
     new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")).setDocumentAnalysisFeatures(
         Collections.singletonList(
             DocumentAnalysisFeature.FORMULAS));

 // Utility method to convert input stream to Binary Data
 BinaryData buffer = BinaryData.fromStream(new ByteArrayInputStream(Files.readAllBytes(document.toPath())));

 documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, buffer, analyzeDocumentOptions)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult -> {
         System.out.println(analyzeResult.getModelId());
         analyzeResult.getDocuments()
             .forEach(analyzedDocument ->
                 analyzedDocument.getFields()
                     .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 - ID de modèle unique à utiliser. Utilisez cette option pour spécifier l’ID de modèle personnalisé ou l’ID de modèle prédéfini. Les ID de modèle prédéfinis pris en charge sont disponibles ici
document - Données du document à partir de laquelle analyser les informations.
analyzeDocumentOptions - Configurable AnalyzeDocumentOptions supplémentaire qui peut être passé lors de l’analyse de documents.

Returns:

PollerFlux<T,U> qui interroge la progression de l’opération d’analyse du document jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne un AnalyzeResult.

beginAnalyzeDocumentFromUrl

public PollerFlux beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.

Code sample

Analysez un document à l’aide de l’URL du document.

String documentUrl = "{document_url}";
 String modelId = "{model_id}";
 documentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult ->
         analyzeResult.getDocuments()
             .forEach(document ->
                 document.getFields()
                     .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 - ID de modèle unique à utiliser. Utilisez cette option pour spécifier l’ID de modèle personnalisé ou l’ID de modèle prédéfini. Les ID de modèle prédéfinis pris en charge sont disponibles ici
documentUrl - URL du document à analyser.

Returns:

PollerFlux<T,U> qui interroge la progression de l’opération d’analyse du document jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne un AnalyzeResult.

beginAnalyzeDocumentFromUrl

public PollerFlux beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions)

Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.

Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.

Code sample

Analysez un document à l’aide de l’URL du document avec des options configurables.

String documentUrl = "{document_url}";
 // analyze a receipt using prebuilt model
 String modelId = "prebuilt-receipt";

 documentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl,
         new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")))
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult -> {
         System.out.println(analyzeResult.getModelId());
         analyzeResult.getDocuments()
             .forEach(document ->
                 document.getFields()
                     .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 - ID de modèle unique à utiliser. Utilisez cette option pour spécifier l’ID de modèle personnalisé ou l’ID de modèle prédéfini. Les ID de modèle prédéfinis pris en charge sont disponibles ici
documentUrl - URL source du formulaire d’entrée.
analyzeDocumentOptions - Configurable AnalyzeDocumentOptions supplémentaire qui peut être passé lors de l’analyse de documents.

Returns:

PollerFlux<T,U> qui interroge la progression de l’opération d’analyse du document jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne un AnalyzeResult.

beginClassifyDocument

public PollerFlux beginClassifyDocument(String classifierId, BinaryData document)

Classifier un document donné à l’aide d’un classifieur de document. Pour plus d’informations sur la création d’un modèle de classifieur personnalisé, consultez

Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.

Notez que le data passé doit être rejouable si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux doit produire les mêmes données chaque fois qu’il est abonné.

Code sample

Analysez un document avec des options configurables.

File document = new File("{local/file_path/fileName.jpg}");
 String classifierId = "{model_id}";

 // Utility method to convert input stream to Binary Data
 BinaryData buffer = BinaryData.fromStream(new ByteArrayInputStream(Files.readAllBytes(document.toPath())));

 documentAnalysisAsyncClient.beginClassifyDocument(classifierId, buffer)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult -> {
         System.out.println(analyzeResult.getModelId());
         analyzeResult.getDocuments()
             .forEach(analyzedDocument -> System.out.printf("Doc Type: %s%n", analyzedDocument.getDocType()));
     });

Parameters:

classifierId - ID de classifieur unique à utiliser. Utilisez cette option pour spécifier l’ID de classifieur personnalisé.
document - Données du document à partir de laquelle analyser les informations. Pour connaître les types de fichiers pris en charge par le service, consultez :

Returns:

PollerFlux<T,U> qui interroge la progression de l’opération d’analyse du document jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne un AnalyzeResult.

beginClassifyDocumentFromUrl

public PollerFlux beginClassifyDocumentFromUrl(String classifierId, String documentUrl)

Classifier un document donné à l’aide d’un classifieur de document. Pour plus d’informations sur la création d’un modèle de classifieur personnalisé, consultez

Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.

Code sample

Analysez un document à l’aide de l’URL du document.

String documentUrl = "{document_url}";
 String classifierId = "custom-trained-classifier-id";

 documentAnalysisAsyncClient.beginClassifyDocumentFromUrl(classifierId, documentUrl)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult -> {
         System.out.println(analyzeResult.getModelId());
         analyzeResult.getDocuments()
             .forEach(analyzedDocument -> System.out.printf("Doc Type: %s%n", analyzedDocument.getDocType()));
     });

Parameters:

classifierId - ID de classifieur unique à utiliser. Utilisez cette option pour spécifier l’ID de classifieur personnalisé.
documentUrl - URL du document à analyser.

Returns:

PollerFlux<T,U> qui interroge la progression de l’opération d’analyse du document jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne un AnalyzeResult.

S’applique à