Share via


FormRecognizerClient Classe

  • java.lang.Object
    • com.azure.ai.formrecognizer.FormRecognizerClient

public final class FormRecognizerClient

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

Ce client fournit des méthodes synchrones à effectuer :

  1. Analyse de formulaire personnalisée : extraction et analyse de données à partir 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 beginRecognizeCustomForms méthode .
  2. Analyse des modèles prédéfinis : analysez les reçus, les cartes de visite, les factures et d’autres documents avec des modèles prédéfinis pris en charge Utilisez la beginRecognizeReceipts méthode pour reconnaître les informations de reçu.
  3. Analyse de la disposition : extraction et analyse de texte, de marques de sélection, de tableaux et de coordonnées de zone englobante à partir de formulaires et de documents. Utilisez la beginRecognizeContent(InputStream form, long length) méthode tpo pour effectuer une analyse de disposition.
  4. Interrogation et rappels : il inclut des mécanismes d’interrogation du service pour case activée la status d’une opération d’analyse ou l’inscription de rappels pour recevoir des notifications lorsque l’analyse est terminée.

Reportez-vous au Guide de migration pour utiliser les versions d’API 2022-08-31 et ultérieures.

Les clients de service sont le point d’interaction permettant aux développeurs d’utiliser Azure Form Recognizer. FormRecognizerClient est le client de service synchrone et FormRecognizerAsyncClient 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, qui convient à la plupart des scénarios, notamment aux environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une 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 FormRecognizerClient avec DefaultAzureCredential

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

FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder()
     .endpoint("{endpoint}")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildClient();

Pour plus d’informations, consultez l’exemple de code ci-dessous à utiliser pour la AzureKeyCredential création du client.

FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder()
     .credential(new AzureKeyCredential("{key}"))
     .endpoint("{endpoint}")
     .buildClient();

Résumé de la méthode

Modificateur et type Méthode et description
SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCards(InputStream businessCard, long length)

Reconnaît les données de carte métier à partir des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de carte métier prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCards(InputStream businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, Context context)

Reconnaît les données de carte métier à partir des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de carte métier prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCardsFromUrl(String businessCardUrl)

Reconnaît les données de carte métier à partir d’un document à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle d’entreprise carte prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCardsFromUrl(String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, Context context)

Reconnaît les données de carte métier à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle d’entreprise carte prédéfini.

SyncPoller<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContent(InputStream form, long length)

Reconnaît les données de disposition à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé.

SyncPoller<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContent(InputStream form, long length, RecognizeContentOptions recognizeContentOptions, Context context)

Reconnaît les données de contenu/disposition des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR).

SyncPoller<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContentFromUrl(String formUrl)

Reconnaît les données de contenu/disposition des documents à l’aide de la reconnaissance optique de caractères (OCR).

SyncPoller<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContentFromUrl(String formUrl, RecognizeContentOptions recognizeContentOptions, Context context)

Reconnaît les données de contenu/disposition à l’aide de la reconnaissance optique de caractères (OCR).

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomForms(String modelId, InputStream form, long length)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé avec ou sans étiquettes.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomForms(String modelId, InputStream form, long length, RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé avec ou sans étiquettes.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl, RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocuments(InputStream identityDocument, long length)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire les informations clés des passeports et des permis de conduire américains.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocuments(InputStream identityDocument, long length, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, Context context)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire les informations clés des passeports et des permis de conduire américains.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire des informations clés des passeports et des permis de conduire américains.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, Context context)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire des informations clés des passeports et des permis de conduire américains.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoices(InputStream invoice, long length)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture entraîné prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoices(InputStream invoice, long length, RecognizeInvoicesOptions recognizeInvoicesOptions, Context context)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture entraîné prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoicesFromUrl(String invoiceUrl)

Reconnaît les données de facture à partir d’un document à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoicesFromUrl(String invoiceUrl, RecognizeInvoicesOptions recognizeInvoicesOptions, Context context)

Reconnaît les données de facture à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceipts(InputStream receipt, long length)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de reçu formé prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceipts(InputStream receipt, long length, RecognizeReceiptsOptions recognizeReceiptsOptions, Context context)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de reçu formé prédéfini.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceiptsFromUrl(String receiptUrl)

Reconnaît les données de réception d’un document à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini d’apprentissage du reçu.

SyncPoller<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceiptsFromUrl(String receiptUrl, RecognizeReceiptsOptions recognizeReceiptsOptions, Context context)

Reconnaît les données de réception des documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini d’apprentissage du reçu.

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

Détails de la méthode

beginRecognizeBusinessCards

public SyncPoller<>> beginRecognizeBusinessCards(InputStream businessCard, long length)

Reconnaît les données de carte métier à partir des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de carte métier prédéfini.

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

Consultez ici les champs trouvés sur un carte d’entreprise.

Code sample

File businessCard = new File("{local/file_path/fileName.jpg}");
 byte[] fileContent = Files.readAllBytes(businessCard.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
     formRecognizerClient.beginRecognizeBusinessCards(targetStream, businessCard.length()).getFinalResult()
         .forEach(recognizedBusinessCard -> {
             Map<String, FormField> recognizedFields = recognizedBusinessCard.getFields();
             FormField contactNamesFormField = recognizedFields.get("ContactNames");
             if (contactNamesFormField != null) {
                 if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) {
                     List<FormField> contactNamesList = contactNamesFormField.getValue().asList();
                     contactNamesList.stream()
                         .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType())
                         .map(contactName -> {
                             System.out.printf("Contact name: %s%n", contactName.getValueData().getText());
                             return contactName.getValue().asMap();
                         })
                         .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> {
                             if ("FirstName".equals(key)) {
                                 if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                     String firstName = contactName.getValue().asString();
                                     System.out.printf("\tFirst Name: %s, confidence: %.2f%n",
                                         firstName, contactName.getConfidence());
                                 }
                             }
                             if ("LastName".equals(key)) {
                                 if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                     String lastName = contactName.getValue().asString();
                                     System.out.printf("\tLast Name: %s, confidence: %.2f%n",
                                         lastName, contactName.getConfidence());
                                 }
                             }
                         }));
                 }
             }
             FormField jobTitles = recognizedFields.get("JobTitles");
             if (jobTitles != null) {
                 if (FieldValueType.LIST == jobTitles.getValue().getValueType()) {
                     List<FormField> jobTitlesItems = jobTitles.getValue().asList();
                     jobTitlesItems.forEach(jobTitlesItem -> {
                         if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) {
                             String jobTitle = jobTitlesItem.getValue().asString();
                             System.out.printf("Job Title: %s, confidence: %.2f%n",
                                 jobTitle, jobTitlesItem.getConfidence());
                         }
                     });
                 }
             }
         });
 }

Parameters:

businessCard - Les données de l’entreprise carte à partir des informations de carte métier.
length - Longueur exacte des données.

Returns:

qui SyncPoller<T,U> interroge l’opération recognize business carte jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeBusinessCards

public SyncPoller<>> beginRecognizeBusinessCards(InputStream businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, Context context)

Reconnaît les données de carte métier à partir des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de carte métier prédéfini.

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

Consultez ici les champs trouvés sur un carte d’entreprise.

Code sample

File businessCard = new File("{local/file_path/fileName.jpg}");
 boolean includeFieldElements = true;
 byte[] fileContent = Files.readAllBytes(businessCard.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
     for (RecognizedForm recognizedForm : formRecognizerClient.beginRecognizeBusinessCards(targetStream,
         businessCard.length(),
         new RecognizeBusinessCardsOptions()
             .setContentType(FormContentType.IMAGE_JPEG)
             .setFieldElementsIncluded(includeFieldElements),
         Context.NONE).setPollInterval(Duration.ofSeconds(5))
         .getFinalResult()) {
         Map<String, FormField> recognizedFields = recognizedForm.getFields();
         FormField contactNamesFormField = recognizedFields.get("ContactNames");
         if (contactNamesFormField != null) {
             if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) {
                 List<FormField> contactNamesList = contactNamesFormField.getValue().asList();
                 contactNamesList.stream()
                     .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType())
                     .map(contactName -> {
                         System.out.printf("Contact name: %s%n", contactName.getValueData().getText());
                         return contactName.getValue().asMap();
                     })
                     .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> {
                         if ("FirstName".equals(key)) {
                             if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                 String firstName = contactName.getValue().asString();
                                 System.out.printf("\tFirst Name: %s, confidence: %.2f%n",
                                     firstName, contactName.getConfidence());
                             }
                         }
                         if ("LastName".equals(key)) {
                             if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                 String lastName = contactName.getValue().asString();
                                 System.out.printf("\tLast Name: %s, confidence: %.2f%n",
                                     lastName, contactName.getConfidence());
                             }
                         }
                     }));
             }
         }
         FormField jobTitles = recognizedFields.get("JobTitles");
         if (jobTitles != null) {
             if (FieldValueType.LIST == jobTitles.getValue().getValueType()) {
                 List<FormField> jobTitlesItems = jobTitles.getValue().asList();
                 jobTitlesItems.forEach(jobTitlesItem -> {
                     if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) {
                         String jobTitle = jobTitlesItem.getValue().asString();
                         System.out.printf("Job Title: %s, confidence: %.2f%n",
                             jobTitle, jobTitlesItem.getConfidence());
                     }
                 });
             }
         }
     }
 }

Parameters:

businessCard - Les données de l’entreprise carte à partir des informations de carte métier.
length - Longueur exacte des données.
recognizeBusinessCardsOptions - Configurable supplémentaire RecognizeBusinessCardsOptions qui peut être passé lors de l’analyse d’un carte métier.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

qui SyncPoller<T,U> interroge l’opération recognize business carte jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeBusinessCardsFromUrl

public SyncPoller<>> beginRecognizeBusinessCardsFromUrl(String businessCardUrl)

Reconnaît les données de carte métier à partir d’un document à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle d’entreprise carte prédéfini.

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

Consultez ici les champs trouvés sur un carte d’entreprise.

Code sample

String businessCardUrl = "{business_card_url}";
 formRecognizerClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl)
     .getFinalResult()
     .forEach(recognizedBusinessCard -> {
         Map<String, FormField> recognizedFields = recognizedBusinessCard.getFields();
         FormField contactNamesFormField = recognizedFields.get("ContactNames");
         if (contactNamesFormField != null) {
             if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) {
                 List<FormField> contactNamesList = contactNamesFormField.getValue().asList();
                 contactNamesList.stream()
                     .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType())
                     .map(contactName -> {
                         System.out.printf("Contact name: %s%n", contactName.getValueData().getText());
                         return contactName.getValue().asMap();
                     })
                     .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> {
                         if ("FirstName".equals(key)) {
                             if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                 String firstName = contactName.getValue().asString();
                                 System.out.printf("\tFirst Name: %s, confidence: %.2f%n",
                                     firstName, contactName.getConfidence());
                             }
                         }
                         if ("LastName".equals(key)) {
                             if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                 String lastName = contactName.getValue().asString();
                                 System.out.printf("\tLast Name: %s, confidence: %.2f%n",
                                     lastName, contactName.getConfidence());
                             }
                         }
                     }));
             }
         }
         FormField jobTitles = recognizedFields.get("JobTitles");
         if (jobTitles != null) {
             if (FieldValueType.LIST == jobTitles.getValue().getValueType()) {
                 List<FormField> jobTitlesItems = jobTitles.getValue().asList();
                 jobTitlesItems.forEach(jobTitlesItem -> {
                     if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) {
                         String jobTitle = jobTitlesItem.getValue().asString();
                         System.out.printf("Job Title: %s, confidence: %.2f%n",
                             jobTitle, jobTitlesItem.getConfidence());
                     }
                 });
             }
         }
     });

Parameters:

businessCardUrl - URL source de l’carte métier d’entrée.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de reconnaissance de l’carte métier jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeBusinessCardsFromUrl

public SyncPoller<>> beginRecognizeBusinessCardsFromUrl(String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, Context context)

Reconnaît les données de carte métier à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle d’entreprise carte prédéfini.

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

Consultez ici les champs trouvés sur un carte d’entreprise.

Code sample

String businessCardUrl = "{business_card_url}";
 formRecognizerClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl,
     new RecognizeBusinessCardsOptions()
         .setFieldElementsIncluded(true), Context.NONE)
     .setPollInterval(Duration.ofSeconds(5)).getFinalResult()
     .forEach(recognizedBusinessCard -> {
         Map<String, FormField> recognizedFields = recognizedBusinessCard.getFields();
         FormField contactNamesFormField = recognizedFields.get("ContactNames");
         if (contactNamesFormField != null) {
             if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) {
                 List<FormField> contactNamesList = contactNamesFormField.getValue().asList();
                 contactNamesList.stream()
                     .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType())
                     .map(contactName -> {
                         System.out.printf("Contact name: %s%n", contactName.getValueData().getText());
                         return contactName.getValue().asMap();
                     })
                     .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> {
                         if ("FirstName".equals(key)) {
                             if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                 String firstName = contactName.getValue().asString();
                                 System.out.printf("\tFirst Name: %s, confidence: %.2f%n",
                                     firstName, contactName.getConfidence());
                             }
                         }
                         if ("LastName".equals(key)) {
                             if (FieldValueType.STRING == contactName.getValue().getValueType()) {
                                 String lastName = contactName.getValue().asString();
                                 System.out.printf("\tLast Name: %s, confidence: %.2f%n",
                                     lastName, contactName.getConfidence());
                             }
                         }
                     }));
             }
         }
         FormField jobTitles = recognizedFields.get("JobTitles");
         if (jobTitles != null) {
             if (FieldValueType.LIST == jobTitles.getValue().getValueType()) {
                 List<FormField> jobTitlesItems = jobTitles.getValue().asList();
                 jobTitlesItems.forEach(jobTitlesItem -> {
                     if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) {
                         String jobTitle = jobTitlesItem.getValue().asString();
                         System.out.printf("Job Title: %s, confidence: %.2f%n",
                             jobTitle, jobTitlesItem.getConfidence());
                     }
                 });
             }
         }
     });

Parameters:

businessCardUrl - URL source de l’carte métier d’entrée.
recognizeBusinessCardsOptions - Configurable supplémentaire RecognizeBusinessCardsOptions qui peut être passé lors de l’analyse d’un carte métier.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de reconnaissance de l’carte métier jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeContent

public SyncPoller<>> beginRecognizeContent(InputStream form, long length)

Reconnaît les données de disposition à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé.

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

Code sample

File form = new File("{local/file_path/fileName.pdf}");
 byte[] fileContent = Files.readAllBytes(form.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
     formRecognizerClient.beginRecognizeContent(targetStream, form.length())
         .getFinalResult()
         .forEach(formPage -> {
             System.out.printf("Page Angle: %s%n", formPage.getTextAngle());
             System.out.printf("Page Dimension unit: %s%n", formPage.getUnit());
             // Table information
             System.out.println("Recognized Tables: ");
             formPage.getTables()
                 .stream()
                 .flatMap(formTable -> formTable.getCells().stream())
                 .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText()));
         });
 }

Parameters:

form - Données du formulaire à partir de laquelle reconnaître les informations de contenu.
length - Longueur exacte des données.

Returns:

SyncPoller<T,U> qui interroge l’opération de reconnaissance de contenu jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de FormPage.

beginRecognizeContent

public SyncPoller<>> beginRecognizeContent(InputStream form, long length, RecognizeContentOptions recognizeContentOptions, Context context)

Reconnaît les données de contenu/disposition des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR).

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

La reconnaissance de contenu prend en charge l’identification automatique de la langue et les documents multilingues. Par conséquent, fournissez un code de langue uniquement si vous souhaitez forcer le traitement du document en tant que langue spécifique dans le RecognizeContentOptions.

Code sample

File form = new File("{file_source_url}");
 byte[] fileContent = Files.readAllBytes(form.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {

     for (FormPage formPage : formRecognizerClient.beginRecognizeContent(targetStream, form.length(),
         new RecognizeContentOptions()
             .setPollInterval(Duration.ofSeconds(5)), Context.NONE)
         .getFinalResult()) {
         System.out.printf("Page Angle: %s%n", formPage.getTextAngle());
         System.out.printf("Page Dimension unit: %s%n", formPage.getUnit());
         // Table information
         System.out.println("Recognized Tables: ");
         formPage.getTables()
             .stream()
             .flatMap(formTable -> formTable.getCells().stream())
             .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText()));
     }
 }

Parameters:

form - Données du formulaire à partir de laquelle reconnaître les informations de contenu.
length - Longueur exacte des données.
recognizeContentOptions - Configurable supplémentaire RecognizeContentOptions qui peut être passé lors de la reconnaissance du contenu/de la disposition d’un formulaire.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> qui interroge l’opération de reconnaissance de contenu jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de FormPage.

beginRecognizeContentFromUrl

public SyncPoller<>> beginRecognizeContentFromUrl(String formUrl)

Reconnaît les données de contenu/disposition des documents à l’aide de la reconnaissance optique de caractères (OCR).

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

Code sample

String formUrl = "{form_url}";
 formRecognizerClient.beginRecognizeContentFromUrl(formUrl)
     .getFinalResult()
     .forEach(formPage -> {
         System.out.printf("Page Angle: %s%n", formPage.getTextAngle());
         System.out.printf("Page Dimension unit: %s%n", formPage.getUnit());
         // Table information
         System.out.println("Recognized Tables: ");
         formPage.getTables()
             .stream()
             .flatMap(formTable -> formTable.getCells().stream())
             .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText()));
     });

Parameters:

formUrl - URL du formulaire à analyser.

Returns:

SyncPoller<T,U> qui interroge l’opération de formulaire de reconnaissance de contenu jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de FormPage.

beginRecognizeContentFromUrl

public SyncPoller<>> beginRecognizeContentFromUrl(String formUrl, RecognizeContentOptions recognizeContentOptions, Context context)

Reconnaît les données de contenu/disposition à l’aide de la reconnaissance optique de caractères (OCR).

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

La reconnaissance de contenu prend en charge l’identification automatique de la langue et les documents multilingues. Par conséquent, fournissez un code de langue uniquement si vous souhaitez forcer le traitement du document en tant que langue spécifique dans le RecognizeContentOptions.

Code sample

String formPath = "{file_source_url}";
 formRecognizerClient.beginRecognizeContentFromUrl(formPath,
     new RecognizeContentOptions()
         .setPollInterval(Duration.ofSeconds(5)), Context.NONE)
     .getFinalResult()
     .forEach(formPage -> {
         System.out.printf("Page Angle: %s%n", formPage.getTextAngle());
         System.out.printf("Page Dimension unit: %s%n", formPage.getUnit());
         // Table information
         System.out.println("Recognized Tables: ");
         formPage.getTables()
             .stream()
             .flatMap(formTable -> formTable.getCells().stream())
             .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText()));
     });

Parameters:

formUrl - URL source du formulaire d’entrée.
recognizeContentOptions - Configurable supplémentaire RecognizeContentOptions qui peut être passé lors de la reconnaissance du contenu/de la disposition d’un formulaire.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> qui interroge l’opération de disposition de reconnaissance jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de FormPage.

beginRecognizeCustomForms

public SyncPoller<>> beginRecognizeCustomForms(String modelId, InputStream form, long length)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé avec ou sans étiquettes.

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

Code sample

File form = new File("{local/file_path/fileName.jpg}");
 String modelId = "{custom_trained_model_id}";
 byte[] fileContent = Files.readAllBytes(form.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {

     formRecognizerClient.beginRecognizeCustomForms(modelId, targetStream, form.length())
         .getFinalResult()
         .stream()
         .map(RecognizedForm::getFields)
         .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> {
             System.out.printf("Field text: %s%n", fieldText);
             System.out.printf("Field value data text: %s%n", formField.getValueData().getText());
             System.out.printf("Confidence score: %.2f%n", formField.getConfidence());
         }));
 }

Parameters:

modelId - ID de modèle entraîné personnalisé au format de chaîne UUID à utiliser.
form - Données du formulaire à partir de laquelle reconnaître les informations de formulaire.
length - Longueur exacte des données.

Returns:

SyncPoller<T,U> qui interroge l’opération reconnaître le formulaire personnalisé jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeCustomForms

public SyncPoller<>> beginRecognizeCustomForms(String modelId, InputStream form, long length, RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé.

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

Code sample

File form = new File("{local/file_path/fileName.jpg}");
 String modelId = "{custom_trained_model_id}";
 boolean includeFieldElements = true;
 byte[] fileContent = Files.readAllBytes(form.toPath());

 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
     formRecognizerClient.beginRecognizeCustomForms(modelId, targetStream, form.length(),
         new RecognizeCustomFormsOptions()
             .setContentType(FormContentType.IMAGE_JPEG)
             .setFieldElementsIncluded(includeFieldElements)
             .setPollInterval(Duration.ofSeconds(10)), Context.NONE)
         .getFinalResult()
         .stream()
         .map(RecognizedForm::getFields)
         .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> {
             System.out.printf("Field text: %s%n", fieldText);
             System.out.printf("Field value data text: %s%n", formField.getValueData().getText());
             System.out.printf("Confidence score: %.2f%n", formField.getConfidence());
         }));
 }

Parameters:

modelId - ID de modèle entraîné personnalisé au format de chaîne UUID à utiliser.
form - Données du formulaire à partir de laquelle reconnaître les informations de formulaire.
length - Longueur exacte des données.
recognizeCustomFormsOptions - Configurable supplémentaire RecognizeCustomFormsOptions qui peut être passé lors de la reconnaissance de formulaires personnalisés.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> qui interroge l’opération reconnaître le formulaire personnalisé jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeCustomFormsFromUrl

public SyncPoller<>> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné personnalisé avec ou sans étiquettes.

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

String formUrl = "{form_url}";
 String modelId = "{custom_trained_model_id}";

 formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl).getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> {
         System.out.printf("Field text: %s%n", fieldText);
         System.out.printf("Field value data text: %s%n", formField.getValueData().getText());
         System.out.printf("Confidence score: %.2f%n", formField.getConfidence());
     }));

Parameters:

modelId - ID de modèle entraîné personnalisé au format de chaîne UUID à utiliser.
formUrl - URL du formulaire à analyser.

Returns:

SyncPoller<T,U> pour interroger la progression de l’opération de reconnaissance de formulaire personnalisé jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeCustomFormsFromUrl

public SyncPoller<>> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl, RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context)

Reconnaît les données de formulaire à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle entraîné 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

String analyzeFilePath = "{file_source_url}";
 String modelId = "{model_id}";
 boolean includeFieldElements = true;

 formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, analyzeFilePath,
     new RecognizeCustomFormsOptions()
         .setFieldElementsIncluded(includeFieldElements)
         .setPollInterval(Duration.ofSeconds(10)), Context.NONE)
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> {
         System.out.printf("Field text: %s%n", fieldText);
         System.out.printf("Field value data text: %s%n", formField.getValueData().getText());
         System.out.printf("Confidence score: %.2f%n", formField.getConfidence());
     }));

Parameters:

modelId - ID de modèle entraîné personnalisé au format de chaîne UUID à utiliser.
formUrl - URL source du formulaire d’entrée.
recognizeCustomFormsOptions - Configurable supplémentaire RecognizeCustomFormsOptions qui peut être passé lors de la reconnaissance de formulaires personnalisés.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> pour interroger la progression de l’opération de reconnaissance de formulaire personnalisé jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeIdentityDocuments

public SyncPoller<>> beginRecognizeIdentityDocuments(InputStream identityDocument, long length)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire les informations clés des passeports et des permis de conduire américains. Voir ici pour les champs trouvés sur un document d’identité.

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

File license = new File("local/file_path/license.jpg");
 ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(license.toPath()));
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeIdentityDocuments(inputStream, license.length())
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField firstNameField = recognizedFields.get("FirstName");
         if (firstNameField != null) {
             if (FieldValueType.STRING == firstNameField.getValue().getValueType()) {
                 String firstName = firstNameField.getValue().asString();
                 System.out.printf("First Name: %s, confidence: %.2f%n",
                     firstName, firstNameField.getConfidence());
             }
         }

         FormField lastNameField = recognizedFields.get("LastName");
         if (lastNameField != null) {
             if (FieldValueType.STRING == lastNameField.getValue().getValueType()) {
                 String lastName = lastNameField.getValue().asString();
                 System.out.printf("Last name: %s, confidence: %.2f%n",
                     lastName, lastNameField.getConfidence());
             }
         }

         FormField countryRegionFormField = recognizedFields.get("CountryRegion");
         if (countryRegionFormField != null) {
             if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) {
                 String countryRegion = countryRegionFormField.getValue().asCountryRegion();
                 System.out.printf("Country or region: %s, confidence: %.2f%n",
                     countryRegion, countryRegionFormField.getConfidence());
             }
         }

         FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration");
         if (dateOfExpirationField != null) {
             if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) {
                 LocalDate expirationDate = dateOfExpirationField.getValue().asDate();
                 System.out.printf("Document date of expiration: %s, confidence: %.2f%n",
                     expirationDate, dateOfExpirationField.getConfidence());
             }
         }

         FormField documentNumberField = recognizedFields.get("DocumentNumber");
         if (documentNumberField != null) {
             if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) {
                 String documentNumber = documentNumberField.getValue().asString();
                 System.out.printf("Document number: %s, confidence: %.2f%n",
                     documentNumber, documentNumberField.getConfidence());
             }
         }
     });

Parameters:

identityDocument - Données du document d’identité à partir de laquelle reconnaître les informations du document d’identité.
length - Longueur exacte des données.

Returns:

SyncPoller<T,U> qui interroge l’opération reconnaître le document d’identité jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeIdentityDocuments

public SyncPoller<>> beginRecognizeIdentityDocuments(InputStream identityDocument, long length, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, Context context)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire les informations clés des passeports et des permis de conduire américains. Voir ici pour les champs trouvés sur un document d’identité.

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

File licenseDocument = new File("local/file_path/license.jpg");
 boolean includeFieldElements = true;
 // Utility method to convert input stream to Byte buffer
 ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(licenseDocument.toPath()));
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeIdentityDocuments(inputStream,
     licenseDocument.length(),
     new RecognizeIdentityDocumentOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setFieldElementsIncluded(includeFieldElements),
     Context.NONE)
     .setPollInterval(Duration.ofSeconds(5))
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField firstNameField = recognizedFields.get("FirstName");
         if (firstNameField != null) {
             if (FieldValueType.STRING == firstNameField.getValue().getValueType()) {
                 String firstName = firstNameField.getValue().asString();
                 System.out.printf("First Name: %s, confidence: %.2f%n",
                     firstName, firstNameField.getConfidence());
             }
         }

         FormField lastNameField = recognizedFields.get("LastName");
         if (lastNameField != null) {
             if (FieldValueType.STRING == lastNameField.getValue().getValueType()) {
                 String lastName = lastNameField.getValue().asString();
                 System.out.printf("Last name: %s, confidence: %.2f%n",
                     lastName, lastNameField.getConfidence());
             }
         }

         FormField countryRegionFormField = recognizedFields.get("CountryRegion");
         if (countryRegionFormField != null) {
             if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) {
                 String countryRegion = countryRegionFormField.getValue().asCountryRegion();
                 System.out.printf("Country or region: %s, confidence: %.2f%n",
                     countryRegion, countryRegionFormField.getConfidence());
             }
         }

         FormField dateOfBirthField = recognizedFields.get("DateOfBirth");
         if (dateOfBirthField != null) {
             if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) {
                 LocalDate dateOfBirth = dateOfBirthField.getValue().asDate();
                 System.out.printf("Date of Birth: %s, confidence: %.2f%n",
                     dateOfBirth, dateOfBirthField.getConfidence());
             }
         }

         FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration");
         if (dateOfExpirationField != null) {
             if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) {
                 LocalDate expirationDate = dateOfExpirationField.getValue().asDate();
                 System.out.printf("Document date of expiration: %s, confidence: %.2f%n",
                     expirationDate, dateOfExpirationField.getConfidence());
             }
         }

         FormField documentNumberField = recognizedFields.get("DocumentNumber");
         if (documentNumberField != null) {
             if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) {
                 String documentNumber = documentNumberField.getValue().asString();
                 System.out.printf("Document number: %s, confidence: %.2f%n",
                     documentNumber, documentNumberField.getConfidence());
             }
         }
     });

Parameters:

identityDocument - Données du document d’identité à partir de laquelle reconnaître les informations.
length - Longueur exacte des données.
recognizeIdentityDocumentOptions - Configurable supplémentaire RecognizeIdentityDocumentOptions qui peut être passé lors de l’analyse d’un document d’identité.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> qui interroge l’opération reconnaître le document d’identité jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeIdentityDocumentsFromUrl

public SyncPoller<>> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire des informations clés des passeports et des permis de conduire américains. Consultez ici les champs trouvés dans un document d’identité.

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

Code sample

String licenseDocumentUrl = "licenseDocumentUrl";
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl)
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField firstNameField = recognizedFields.get("FirstName");
         if (firstNameField != null) {
             if (FieldValueType.STRING == firstNameField.getValue().getValueType()) {
                 String firstName = firstNameField.getValue().asString();
                 System.out.printf("First Name: %s, confidence: %.2f%n",
                     firstName, firstNameField.getConfidence());
             }
         }

         FormField lastNameField = recognizedFields.get("LastName");
         if (lastNameField != null) {
             if (FieldValueType.STRING == lastNameField.getValue().getValueType()) {
                 String lastName = lastNameField.getValue().asString();
                 System.out.printf("Last name: %s, confidence: %.2f%n",
                     lastName, lastNameField.getConfidence());
             }
         }

         FormField countryRegionFormField = recognizedFields.get("CountryRegion");
         if (countryRegionFormField != null) {
             if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) {
                 String countryRegion = countryRegionFormField.getValue().asCountryRegion();
                 System.out.printf("Country or region: %s, confidence: %.2f%n",
                     countryRegion, countryRegionFormField.getConfidence());
             }
         }

         FormField dateOfBirthField = recognizedFields.get("DateOfBirth");
         if (dateOfBirthField != null) {
             if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) {
                 LocalDate dateOfBirth = dateOfBirthField.getValue().asDate();
                 System.out.printf("Date of Birth: %s, confidence: %.2f%n",
                     dateOfBirth, dateOfBirthField.getConfidence());
             }
         }

         FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration");
         if (dateOfExpirationField != null) {
             if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) {
                 LocalDate expirationDate = dateOfExpirationField.getValue().asDate();
                 System.out.printf("Document date of expiration: %s, confidence: %.2f%n",
                     expirationDate, dateOfExpirationField.getConfidence());
             }
         }

         FormField documentNumberField = recognizedFields.get("DocumentNumber");
         if (documentNumberField != null) {
             if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) {
                 String documentNumber = documentNumberField.getValue().asString();
                 System.out.printf("Document number: %s, confidence: %.2f%n",
                     documentNumber, documentNumberField.getConfidence());
             }
         }
     });

Parameters:

identityDocumentUrl - URL source du document d’identité d’entrée.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de reconnaissance de document d’identité jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeIdentityDocumentsFromUrl

public SyncPoller<>> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, Context context)

Analysez les documents d’identité à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini formé sur le modèle de documents d’identité pour extraire des informations clés des passeports et des permis de conduire américains. Consultez ici les champs trouvés dans un document d’identité.

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

Code sample

String licenseDocumentUrl = "licenseDocumentUrl";
 boolean includeFieldElements = true;
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl,
     new RecognizeIdentityDocumentOptions()
         .setFieldElementsIncluded(includeFieldElements),
     Context.NONE).setPollInterval(Duration.ofSeconds(5))
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField firstNameField = recognizedFields.get("FirstName");
         if (firstNameField != null) {
             if (FieldValueType.STRING == firstNameField.getValue().getValueType()) {
                 String firstName = firstNameField.getValue().asString();
                 System.out.printf("First Name: %s, confidence: %.2f%n",
                     firstName, firstNameField.getConfidence());
             }
         }

         FormField lastNameField = recognizedFields.get("LastName");
         if (lastNameField != null) {
             if (FieldValueType.STRING == lastNameField.getValue().getValueType()) {
                 String lastName = lastNameField.getValue().asString();
                 System.out.printf("Last name: %s, confidence: %.2f%n",
                     lastName, lastNameField.getConfidence());
             }
         }

         FormField countryRegionFormField = recognizedFields.get("CountryRegion");
         if (countryRegionFormField != null) {
             if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) {
                 String countryRegion = countryRegionFormField.getValue().asCountryRegion();
                 System.out.printf("Country or region: %s, confidence: %.2f%n",
                     countryRegion, countryRegionFormField.getConfidence());
             }
         }

         FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration");
         if (dateOfExpirationField != null) {
             if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) {
                 LocalDate expirationDate = dateOfExpirationField.getValue().asDate();
                 System.out.printf("Document date of expiration: %s, confidence: %.2f%n",
                     expirationDate, dateOfExpirationField.getConfidence());
             }
         }

         FormField documentNumberField = recognizedFields.get("DocumentNumber");
         if (documentNumberField != null) {
             if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) {
                 String documentNumber = documentNumberField.getValue().asString();
                 System.out.printf("Document number: %s, confidence: %.2f%n",
                     documentNumber, documentNumberField.getConfidence());
             }
         }
     });

Parameters:

identityDocumentUrl - URL source du document d’identité d’entrée.
recognizeIdentityDocumentOptions - Configurable RecognizeIdentityDocumentOptions supplémentaire qui peut être passé lors de l’analyse d’un document d’identité.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de reconnaissance de document d’identité jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeInvoices

public SyncPoller<>> beginRecognizeInvoices(InputStream invoice, long length)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture entraîné prédéfini.

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

Consultez ici les champs trouvés sur une facture.

Code sample

File invoice = new File("local/file_path/invoice.jpg");
 ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(invoice.toPath()));
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeInvoices(inputStream, invoice.length())
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField customAddrFormField = recognizedFields.get("CustomerAddress");
         if (customAddrFormField != null) {
             if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) {
                 System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString());
             }
         }
         FormField invoiceDateFormField = recognizedFields.get("InvoiceDate");
         if (invoiceDateFormField != null) {
             if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) {
                 LocalDate invoiceDate = invoiceDateFormField.getValue().asDate();
                 System.out.printf("Invoice Date: %s, confidence: %.2f%n",
                     invoiceDate, invoiceDateFormField.getConfidence());
             }
         }
     });

Parameters:

invoice - Données de la facture à partir de laquelle reconnaître les informations relatives à la facture.
length - Longueur exacte des données.

Returns:

SyncPoller<T,U> qui interroge l’opération de reconnaissance de facture jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeInvoices

public SyncPoller<>> beginRecognizeInvoices(InputStream invoice, long length, RecognizeInvoicesOptions recognizeInvoicesOptions, Context context)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture entraîné prédéfini.

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

Consultez ici les champs trouvés sur une facture.

Code sample

File invoice = new File("local/file_path/invoice.jpg");
 boolean includeFieldElements = true;
 // Utility method to convert input stream to Byte buffer
 ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(invoice.toPath()));
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeInvoices(inputStream,
     invoice.length(),
     new RecognizeInvoicesOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setFieldElementsIncluded(includeFieldElements),
     Context.NONE)
     .setPollInterval(Duration.ofSeconds(5))
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField customAddrFormField = recognizedFields.get("CustomerAddress");
         if (customAddrFormField != null) {
             if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) {
                 System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString());
             }
         }
         FormField invoiceDateFormField = recognizedFields.get("InvoiceDate");
         if (invoiceDateFormField != null) {
             if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) {
                 LocalDate invoiceDate = invoiceDateFormField.getValue().asDate();
                 System.out.printf("Invoice Date: %s, confidence: %.2f%n",
                     invoiceDate, invoiceDateFormField.getConfidence());
             }
         }
     });

Parameters:

invoice - Données de la facture à partir de laquelle reconnaître les informations relatives à la facture.
length - Longueur exacte des données.
recognizeInvoicesOptions - Configurable RecognizeInvoicesOptions supplémentaire qui peut être passé lors de l’analyse d’une facture.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> qui interroge l’opération de reconnaissance de facture jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeInvoicesFromUrl

public SyncPoller<>> beginRecognizeInvoicesFromUrl(String invoiceUrl)

Reconnaît les données de facture à partir d’un document à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture prédéfini.

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

Consultez ici les champs trouvés sur une facture.

Code sample

String invoiceUrl = "invoice_url";
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeInvoicesFromUrl(invoiceUrl)
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField customAddrFormField = recognizedFields.get("CustomerAddress");
         if (customAddrFormField != null) {
             if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) {
                 System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString());
             }
         }
         FormField invoiceDateFormField = recognizedFields.get("InvoiceDate");
         if (invoiceDateFormField != null) {
             if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) {
                 LocalDate invoiceDate = invoiceDateFormField.getValue().asDate();
                 System.out.printf("Invoice Date: %s, confidence: %.2f%n",
                     invoiceDate, invoiceDateFormField.getConfidence());
             }
         }
     });

Parameters:

invoiceUrl - URL du document de facture à analyser.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de reconnaissance de facture jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeInvoicesFromUrl

public SyncPoller<>> beginRecognizeInvoicesFromUrl(String invoiceUrl, RecognizeInvoicesOptions recognizeInvoicesOptions, Context context)

Reconnaît les données de facture à partir de documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de facture prédéfini.

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

Code sample

String invoiceUrl = "invoice_url";
 boolean includeFieldElements = true;
 // if training polling operation completed, retrieve the final result.
 formRecognizerClient.beginRecognizeInvoicesFromUrl(invoiceUrl,
     new RecognizeInvoicesOptions()
         .setFieldElementsIncluded(includeFieldElements),
     Context.NONE).setPollInterval(Duration.ofSeconds(5))
     .getFinalResult()
     .stream()
     .map(RecognizedForm::getFields)
     .forEach(recognizedFields -> {
         FormField customAddrFormField = recognizedFields.get("CustomerAddress");
         if (customAddrFormField != null) {
             if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) {
                 System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString());
             }
         }
         FormField invoiceDateFormField = recognizedFields.get("InvoiceDate");
         if (invoiceDateFormField != null) {
             if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) {
                 LocalDate invoiceDate = invoiceDateFormField.getValue().asDate();
                 System.out.printf("Invoice Date: %s, confidence: %.2f%n",
                     invoiceDate, invoiceDateFormField.getConfidence());
             }
         }
     });

Parameters:

invoiceUrl - URL source du document de facture d’entrée.
recognizeInvoicesOptions - Configurable RecognizeInvoicesOptions supplémentaire qui peut être passé lors de l’analyse d’une facture.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de reconnaissance de facture jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeReceipts

public SyncPoller<>> beginRecognizeReceipts(InputStream receipt, long length)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de reçu formé prédéfini.

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

Consultez ici les champs trouvés sur un reçu.

Code sample

File receipt = new File("{receipt_url}");
 byte[] fileContent = Files.readAllBytes(receipt.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {

     formRecognizerClient.beginRecognizeReceipts(targetStream, receipt.length()).getFinalResult()
         .forEach(recognizedReceipt -> {
             Map<String, FormField> recognizedFields = recognizedReceipt.getFields();
             FormField merchantNameField = recognizedFields.get("MerchantName");
             if (merchantNameField != null) {
                 if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) {
                     String merchantName = merchantNameField.getValue().asString();
                     System.out.printf("Merchant Name: %s, confidence: %.2f%n",
                         merchantName, merchantNameField.getConfidence());
                 }
             }

             FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber");
             if (merchantPhoneNumberField != null) {
                 if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) {
                     String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber();
                     System.out.printf("Merchant Phone number: %s, confidence: %.2f%n",
                         merchantAddress, merchantPhoneNumberField.getConfidence());
                 }
             }

             FormField transactionDateField = recognizedFields.get("TransactionDate");
             if (transactionDateField != null) {
                 if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) {
                     LocalDate transactionDate = transactionDateField.getValue().asDate();
                     System.out.printf("Transaction Date: %s, confidence: %.2f%n",
                         transactionDate, transactionDateField.getConfidence());
                 }
             }

             FormField receiptItemsField = recognizedFields.get("Items");
             if (receiptItemsField != null) {
                 System.out.printf("Receipt Items: %n");
                 if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) {
                     List<FormField> receiptItems = receiptItemsField.getValue().asList();
                     receiptItems.stream()
                         .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType())
                         .map(formField -> formField.getValue().asMap())
                         .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> {
                             if ("Quantity".equals(key)) {
                                 if (FieldValueType.FLOAT == formField.getValue().getValueType()) {
                                     Float quantity = formField.getValue().asFloat();
                                     System.out.printf("Quantity: %f, confidence: %.2f%n",
                                         quantity, formField.getConfidence());
                                 }
                             }
                         }));
                 }
             }
         });
 }

Parameters:

receipt - Données du reçu à partir de laquelle reconnaître les informations de réception.
length - Longueur exacte des données.

Returns:

SyncPoller<T,U> qui interroge l’opération de accusé de réception jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeReceipts

public SyncPoller<>> beginRecognizeReceipts(InputStream receipt, long length, RecognizeReceiptsOptions recognizeReceiptsOptions, Context context)

Reconnaît les données des données de document fournies à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle de reçu formé prédéfini.

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

Consultez ici les champs trouvés sur un reçu.

Code sample

File receipt = new File("{local/file_path/fileName.jpg}");
 boolean includeFieldElements = true;
 byte[] fileContent = Files.readAllBytes(receipt.toPath());
 try (InputStream targetStream = new ByteArrayInputStream(fileContent)) {
     for (RecognizedForm recognizedForm : formRecognizerClient
         .beginRecognizeReceipts(targetStream, receipt.length(),
             new RecognizeReceiptsOptions()
                 .setContentType(FormContentType.IMAGE_JPEG)
                 .setFieldElementsIncluded(includeFieldElements)
                 .setLocale(FormRecognizerLocale.EN_US)
                 .setPollInterval(Duration.ofSeconds(5)), Context.NONE)
         .getFinalResult()) {
         Map<String, FormField> recognizedFields = recognizedForm.getFields();
         FormField merchantNameField = recognizedFields.get("MerchantName");
         if (merchantNameField != null) {
             if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) {
                 String merchantName = merchantNameField.getValue().asString();
                 System.out.printf("Merchant Name: %s, confidence: %.2f%n",
                     merchantName, merchantNameField.getConfidence());
             }
         }
         FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber");
         if (merchantPhoneNumberField != null) {
             if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) {
                 String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber();
                 System.out.printf("Merchant Phone number: %s, confidence: %.2f%n",
                     merchantAddress, merchantPhoneNumberField.getConfidence());
             }
         }
         FormField transactionDateField = recognizedFields.get("TransactionDate");
         if (transactionDateField != null) {
             if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) {
                 LocalDate transactionDate = transactionDateField.getValue().asDate();
                 System.out.printf("Transaction Date: %s, confidence: %.2f%n",
                     transactionDate, transactionDateField.getConfidence());
             }
         }
         FormField receiptItemsField = recognizedFields.get("Items");
         if (receiptItemsField != null) {
             System.out.printf("Receipt Items: %n");
             if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) {
                 List<FormField> receiptItems = receiptItemsField.getValue().asList();
                 receiptItems.stream()
                     .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType())
                     .map(formField -> formField.getValue().asMap())
                     .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> {
                         if ("Quantity".equals(key)) {
                             if (FieldValueType.FLOAT == formField.getValue().getValueType()) {
                                 Float quantity = formField.getValue().asFloat();
                                 System.out.printf("Quantity: %f, confidence: %.2f%n",
                                     quantity, formField.getConfidence());
                             }
                         }
                     }));
             }
         }
     }
 }

Parameters:

receipt - Données du reçu à partir de laquelle reconnaître les informations de réception.
length - Longueur exacte des données.
recognizeReceiptsOptions - Configurable RecognizeReceiptsOptions supplémentaire qui peut être passé lors de l’analyse d’un reçu.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

SyncPoller<T,U> qui interroge l’opération de accusé de réception jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeReceiptsFromUrl

public SyncPoller<>> beginRecognizeReceiptsFromUrl(String receiptUrl)

Reconnaît les données de réception d’un document à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini d’apprentissage du reçu.

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

Consultez ici les champs trouvés sur un reçu.

Code sample

String receiptUrl = "{file_source_url}";
 formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl)
     .getFinalResult()
     .forEach(recognizedReceipt -> {
         Map<String, FormField> recognizedFields = recognizedReceipt.getFields();
         FormField merchantNameField = recognizedFields.get("MerchantName");
         if (merchantNameField != null) {
             if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) {
                 String merchantName = merchantNameField.getValue().asString();
                 System.out.printf("Merchant Name: %s, confidence: %.2f%n",
                     merchantName, merchantNameField.getConfidence());
             }
         }

         FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber");
         if (merchantPhoneNumberField != null) {
             if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) {
                 String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber();
                 System.out.printf("Merchant Phone number: %s, confidence: %.2f%n",
                     merchantAddress, merchantPhoneNumberField.getConfidence());
             }
         }

         FormField transactionDateField = recognizedFields.get("TransactionDate");
         if (transactionDateField != null) {
             if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) {
                 LocalDate transactionDate = transactionDateField.getValue().asDate();
                 System.out.printf("Transaction Date: %s, confidence: %.2f%n",
                     transactionDate, transactionDateField.getConfidence());
             }
         }

         FormField receiptItemsField = recognizedFields.get("Items");
         if (receiptItemsField != null) {
             System.out.printf("Receipt Items: %n");
             if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) {
                 List<FormField> receiptItems = receiptItemsField.getValue().asList();
                 receiptItems.stream()
                     .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType())
                     .map(formField -> formField.getValue().asMap())
                     .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> {
                         if ("Quantity".equals(key)) {
                             if (FieldValueType.FLOAT == formField.getValue().getValueType()) {
                                 Float quantity = formField.getValue().asFloat();
                                 System.out.printf("Quantity: %f, confidence: %.2f%n",
                                     quantity, formField.getConfidence());
                             }
                         }
                     }));
             }
         }
     });

Parameters:

receiptUrl - URL du reçu à analyser.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de accusé de réception jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

beginRecognizeReceiptsFromUrl

public SyncPoller<>> beginRecognizeReceiptsFromUrl(String receiptUrl, RecognizeReceiptsOptions recognizeReceiptsOptions, Context context)

Reconnaît les données de réception des documents à l’aide de la reconnaissance optique de caractères (OCR) et d’un modèle prédéfini d’apprentissage du reçu.

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

Code sample

String receiptUrl = "{receipt_url}";
 formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl,
     new RecognizeReceiptsOptions()
         .setLocale(FormRecognizerLocale.EN_US)
         .setPollInterval(Duration.ofSeconds(5))
         .setFieldElementsIncluded(true), Context.NONE)
     .getFinalResult()
     .forEach(recognizedReceipt -> {
         Map<String, FormField> recognizedFields = recognizedReceipt.getFields();
         FormField merchantNameField = recognizedFields.get("MerchantName");
         if (merchantNameField != null) {
             if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) {
                 String merchantName = merchantNameField.getValue().asString();
                 System.out.printf("Merchant Name: %s, confidence: %.2f%n",
                     merchantName, merchantNameField.getConfidence());
             }
         }

         FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber");
         if (merchantPhoneNumberField != null) {
             if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) {
                 String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber();
                 System.out.printf("Merchant Phone number: %s, confidence: %.2f%n",
                     merchantAddress, merchantPhoneNumberField.getConfidence());
             }
         }

         FormField transactionDateField = recognizedFields.get("TransactionDate");
         if (transactionDateField != null) {
             if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) {
                 LocalDate transactionDate = transactionDateField.getValue().asDate();
                 System.out.printf("Transaction Date: %s, confidence: %.2f%n",
                     transactionDate, transactionDateField.getConfidence());
             }
         }

         FormField receiptItemsField = recognizedFields.get("Items");
         if (receiptItemsField != null) {
             System.out.printf("Receipt Items: %n");
             if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) {
                 List<FormField> receiptItems = receiptItemsField.getValue().asList();
                 receiptItems.stream()
                     .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType())
                     .map(formField -> formField.getValue().asMap())
                     .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> {
                         if ("Quantity".equals(key)) {
                             if (FieldValueType.FLOAT == formField.getValue().getValueType()) {
                                 Float quantity = formField.getValue().asFloat();
                                 System.out.printf("Quantity: %f, confidence: %.2f%n",
                                     quantity, formField.getConfidence());
                             }
                         }
                     }));
             }
         }
     });

Parameters:

receiptUrl - URL source du reçu d’entrée.
recognizeReceiptsOptions - Configurable RecognizeReceiptsOptions supplémentaire qui peut être passé lors de l’analyse d’un reçu.
context - Contexte supplémentaire transmis via le pipeline HTTP pendant l’appel de service.

Returns:

pour SyncPoller<T,U> interroger la progression de l’opération de accusé de réception jusqu’à ce qu’elle soit terminée, qu’elle ait échoué ou qu’elle ait été annulée. L’opération terminée retourne une liste de RecognizedForm.

S’applique à