Freigeben über


FormRecognizerAsyncClient Klasse

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

public final class FormRecognizerAsyncClient

Diese Klasse stellt einen asynchronen Client zum Herstellen einer Verbindung mit dem Formularerkennung Azure Cognitive Service bereit.

Dieser Client bietet asynchrone Methoden für die Ausführung:

  1. Benutzerdefinierte Formularanalyse: Extraktion und Analyse von Daten aus Formularen und Dokumenten, die für unterschiedliche Geschäftsdaten und Anwendungsfälle spezifisch sind. Verwenden Sie das benutzerdefinierte trainierte Modell, indem Sie dessen modelId an die beginRecognizeCustomForms -Methode übergeben.
  2. Vordefinierte Modellanalyse: Analysieren von Belegen, Visitenkarten, Rechnungen und anderen Dokumenten mit unterstützten vordefinierten Modellen Verwenden Sie die beginRecognizeReceipts Methode, um Beleginformationen zu erkennen.
  3. Layoutanalyse: Extraktion und Analyse von Text, Auswahlzeichen, Tabellen und Begrenzungsrahmenkoordinaten aus Formularen und Dokumenten. Verwenden Sie beginRecognizeContent die Methode tpo, um eine Layoutanalyse durchzuführen.
  4. Abrufe und Rückrufe: Es umfasst Mechanismen zum Abrufen des Diensts, um die status eines Analysevorgangs zu überprüfen oder Rückrufe zu registrieren, um Benachrichtigungen zu empfangen, wenn die Analyse abgeschlossen ist.

Hinweis: Dieser Client unterstützt V2_1 nur und niedriger. Es wird empfohlen, DocumentAnalysisClient eine neuere Dienstversion und DocumentModelAdministrationClientzu verwenden.

Informationen zur Verwendung der API-Versionen 2022-08-31 und höher finden Sie im Migrationsleitfaden .

Dienstclients sind der Interaktionspunkt für Entwickler, um Azure Formularerkennung zu verwenden. FormRecognizerClient ist der synchrone Dienstclient und FormRecognizerAsyncClient der asynchrone Dienstclient. Die in diesem Dokument gezeigten Beispiele verwenden ein Anmeldeinformationsobjekt namens DefaultAzureCredential für die Authentifizierung, das für die meisten Szenarien geeignet ist, einschließlich lokaler Entwicklungs- und Produktionsumgebungen. Darüber hinaus wird empfohlen, die verwaltete Identität für die Authentifizierung in Produktionsumgebungen zu verwenden. Weitere Informationen zu verschiedenen Authentifizierungsmethoden und den entsprechenden Anmeldeinformationstypen finden Sie in der Azure Identity-Dokumentation.

Beispiel: Erstellen eines FormRecognizerClients mit DefaultAzureCredential

Im folgenden Codebeispiel wird die Erstellung einer FormRecognizerAsyncClientveranschaulicht, die zum Konfigurieren von "DefaultAzureCredentialBuilder" verwendet wird.

FormRecognizerAsyncClient formRecognizerAsyncClient = new FormRecognizerClientBuilder()
     .endpoint("{endpoint}")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildAsyncClient();

Weitere Informationen finden Sie im folgenden Codebeispiel zur Verwendung AzureKeyCredential für die Clienterstellung.

FormRecognizerAsyncClient formRecognizerAsyncClient = new FormRecognizerClientBuilder()
     .credential(new AzureKeyCredential("{key}"))
     .endpoint("{endpoint}")
     .buildAsyncClient();

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCards(Flux<ByteBuffer> businessCard, long length)

Erkennt Geschäftsdaten Karte mithilfe der optischen Zeichenerkennung (OCR) und eines vordefinierten Geschäfts Karte trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCards(Flux<ByteBuffer> businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions)

Erkennt Geschäftsdaten Karte aus Dokumenten mithilfe der optischen Zeichenerkennung (OCR) und eines vordefinierten Geschäfts Karte trainierten Modells.

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

Erkennt Geschäfts- Karte Daten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten business Karte trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeBusinessCardsFromUrl(String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions)

Erkennt Geschäfts- Karte Daten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten business Karte trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContent(Flux<ByteBuffer> form, long length)

Erkennt Inhalte/Layoutdaten mithilfe der optischen Zeichenerkennung (OCR).

PollerFlux<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContent(Flux<ByteBuffer> form, long length, RecognizeContentOptions recognizeContentOptions)

Erkennt Inhalte/Layoutdaten mithilfe der optischen Zeichenerkennung (OCR).

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

Erkennt Inhalts-/Layoutdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (OCR).

PollerFlux<FormRecognizerOperationResult,List<FormPage>> beginRecognizeContentFromUrl(String formUrl, RecognizeContentOptions recognizeContentOptions)

Erkennt Layoutdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomForms(String modelId, Flux<ByteBuffer> form, long length)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells mit oder ohne Bezeichnungen.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomForms(String modelId, Flux<ByteBuffer> form, long length, RecognizeCustomFormsOptions recognizeCustomFormsOptions)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells mit oder ohne Bezeichnungen.

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

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells mit oder ohne Bezeichnungen.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl, RecognizeCustomFormsOptions recognizeCustomFormsOptions)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocuments(Flux<ByteBuffer> identityDocument, long length)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocuments(Flux<ByteBuffer> identityDocument, long length, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren.

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

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoices(Flux<ByteBuffer> invoice, long length)

Erkennt Rechnungsdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten modelltrainierten Rechnungsmodells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoices(Flux<ByteBuffer> invoice, long length, RecognizeInvoicesOptions recognizeInvoicesOptions)

Erkennt Rechnungsdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten rechnungstrainierten Modells.

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

Erkennt Rechnungsdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten modelltrainierten Rechnungsmodells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeInvoicesFromUrl(String invoiceUrl, RecognizeInvoicesOptions recognizeInvoicesOptions)

Erkennt Rechnungsdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten modelltrainierten Rechnungsmodells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceipts(Flux<ByteBuffer> receipt, long length)

Erkennt Belegdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten, durch Beleg trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceipts(Flux<ByteBuffer> receipt, long length, RecognizeReceiptsOptions recognizeReceiptsOptions)

Erkennt Belegdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten modellierten Beleg.

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

Erkennt Belegdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten, durch Beleg trainierten Modells.

PollerFlux<FormRecognizerOperationResult,List<RecognizedForm>> beginRecognizeReceiptsFromUrl(String receiptUrl, RecognizeReceiptsOptions recognizeReceiptsOptions)

Erkennt Belegdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten, durch Beleg trainierten Modells.

Geerbte Methoden von java.lang.Object

Details zur Methode

beginRecognizeBusinessCards

public PollerFlux> beginRecognizeBusinessCards(Flux businessCard, long length)

Erkennt Geschäftsdaten Karte mithilfe der optischen Zeichenerkennung (OCR) und eines vordefinierten Geschäfts Karte trainierten Modells.

Der Dienst unterstützt das Abbruchen des vorgangs mit langer Ausführung nicht und gibt eine Fehlermeldung zurück, die angibt, dass keine Abbruchunterstützung vorhanden ist.

Weitere Informationen finden Sie hier für Felder, die in einem geschäftsspezifischen Karte gefunden werden. Beachten Sie, dass die businessCard übergebenen Wiederholungen wieder wiedergeben können müssen, wenn Wiederholungen aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss jedes Mal dieselben Daten erzeugen, wenn sie abonniert werden.

Codebeispiel

File businessCard = new File("{local/file_path/fileName.jpg}");
 Flux<ByteBuffer> buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(businessCard.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeBusinessCards(buffer, businessCard.length())
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedBusinessCards -> {
         for (int i = 0; i < recognizedBusinessCards.size(); i++) {
             RecognizedForm recognizedForm = recognizedBusinessCards.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             System.out.printf("----------- Recognized Business Card page %d -----------%n", i);
             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 - Die Daten des Dokuments zum Erkennen von Geschäftsinformationen Karte.
length - Die genaue Länge der Daten.

Returns:

EinePollerFlux<T,U>, die den Vorgang "Geschäftserkennung" Karte abfragt, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeBusinessCards

public PollerFlux> beginRecognizeBusinessCards(Flux businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions)

Erkennt Geschäftsdaten Karte aus Dokumenten mithilfe der optischen Zeichenerkennung (OCR) und eines vordefinierten Geschäfts Karte trainierten Modells.

Der Dienst unterstützt das Abbruchen des vorgangs mit langer Ausführung nicht und gibt eine Fehlermeldung zurück, die angibt, dass keine Abbruchunterstützung vorhanden ist.

Weitere Informationen finden Sie hier für Felder, die in einem geschäftsspezifischen Karte gefunden werden. Beachten Sie, dass die businessCard übergebenen Wiederholungen wieder wiedergeben können müssen, wenn Wiederholungen aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss jedes Mal dieselben Daten erzeugen, wenn sie abonniert werden.

Codebeispiel

File businessCard = new File("{local/file_path/fileName.jpg}");
 boolean includeFieldElements = true;
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(businessCard.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeBusinessCards(buffer, businessCard.length(),
     new RecognizeBusinessCardsOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setFieldElementsIncluded(includeFieldElements))
     .setPollInterval(Duration.ofSeconds(5))
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedBusinessCards -> {
         for (int i = 0; i < recognizedBusinessCards.size(); i++) {
             RecognizedForm recognizedForm = recognizedBusinessCards.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             System.out.printf("----------- Recognized Business Card page %d -----------%n", i);
             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 - Die Daten des Dokuments zum Erkennen von Geschäftsinformationen Karte.
length - Die genaue Länge der Daten.
recognizeBusinessCardsOptions - Das zusätzliche konfigurierbareRecognizeBusinessCardsOptions, das bei der Analyse eines Geschäfts Karte übergeben werden kann.

Returns:

EinePollerFlux<T,U>, die den Vorgang "Geschäftserkennung" Karte abfragt, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeBusinessCardsFromUrl

public PollerFlux> beginRecognizeBusinessCardsFromUrl(String businessCardUrl)

Erkennt Geschäftsdaten Karte mithilfe der optischen Zeichenerkennung (OCR) und eines vordefinierten Geschäfts Karte trainierten Modells.

Der Dienst unterstützt das Abbruchen des vorgangs mit langer Ausführung nicht und gibt eine Fehlermeldung zurück, die angibt, dass keine Abbruchunterstützung vorhanden ist.

Weitere Informationen finden Sie hier für Felder, die in einem geschäftsspezifischen Karte gefunden werden.

Codebeispiel

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

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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:

businessCardUrl - Die Quell-URL für das Eingabegeschäft Karte.

Returns:

EinePollerFlux<T,U>, die den Vorgang "Geschäftserkennung" Karte abfragt, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeBusinessCardsFromUrl

public PollerFlux> beginRecognizeBusinessCardsFromUrl(String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions)

Erkennt Geschäfts- Karte Daten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten business Karte trainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Weitere Informationen finden Sie hier für Felder, die in einem Geschäfts-Karte gefunden wurden.

Codebeispiel

String businessCardUrl = "{business_card_url}";
 boolean includeFieldElements = true;
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl,
     new RecognizeBusinessCardsOptions()
         .setFieldElementsIncluded(includeFieldElements))
     .setPollInterval(Duration.ofSeconds(5))
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedBusinessCards -> {
         for (int i = 0; i < recognizedBusinessCards.size(); i++) {
             RecognizedForm recognizedBusinessCard = recognizedBusinessCards.get(i);
             Map<String, FormField> recognizedFields = recognizedBusinessCard.getFields();
             System.out.printf("----------- Recognized Business Card page %d -----------%n", i);
             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 - Die Quell-URL für das Eingabegeschäft Karte.
recognizeBusinessCardsOptions - Die zusätzliche konfigurierbareRecognizeBusinessCardsOptions, die bei der Analyse eines Geschäfts übergeben werden kann, Karte.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zum Erkennen des Geschäfts Karte abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeContent

public PollerFlux> beginRecognizeContent(Flux form, long length)

Erkennt Inhalte/Layoutdaten mithilfe der optischen Zeichenerkennung (OCR).

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Beachten Sie, dass das data übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File form = new File("{local/file_path/fileName.jpg}");
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath())));

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeContent(buffer, form.length())
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(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().forEach(formTable ->
             formTable.getCells().forEach(recognizedTableCell ->
                 System.out.printf("%s ", recognizedTableCell.getText())));
     });

Parameters:

form - Die Daten des Formulars, aus dem Inhaltsinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.

Returns:

Ein PollerFlux<T,U> ruft den Vorgang zum Erkennen von Inhalten ab, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von FormPagezurück.

beginRecognizeContent

public PollerFlux> beginRecognizeContent(Flux form, long length, RecognizeContentOptions recognizeContentOptions)

Erkennt Inhalte/Layoutdaten mithilfe der optischen Zeichenerkennung (OCR).

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Beachten Sie, dass das data übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Die Inhaltserkennung unterstützt die automatische Spracherkennung und mehrsprachige Dokumente. Stellen Sie daher nur einen Sprachcode bereit, wenn Sie erzwingen möchten, dass das Dokumentierte als bestimmte Sprache in der RecognizeContentOptionsverarbeitet wird.

Codebeispiel

File form = new File("{local/file_path/fileName.jpg}");
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeContent(buffer, form.length(),
     new RecognizeContentOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setPollInterval(Duration.ofSeconds(5)))
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(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().forEach(formTable -> formTable.getCells().forEach(recognizedTableCell ->
             System.out.printf("%s ", recognizedTableCell.getText())));
     });

Parameters:

form - Die Daten des Formulars, aus dem Inhaltsinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.
recognizeContentOptions - Die zusätzliche konfigurierbare RecognizeContentOptions , die beim Erkennen von Inhalt/Layout in einem Formular übergeben werden kann.

Returns:

Ein PollerFlux<T,U> ruft den Vorgang zum Erkennen von Inhalten ab, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von FormPagezurück.

beginRecognizeContentFromUrl

public PollerFlux> beginRecognizeContentFromUrl(String formUrl)

Erkennt Inhalts-/Layoutdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (OCR).

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

String formUrl = "{formUrl}";
 formRecognizerAsyncClient.beginRecognizeContentFromUrl(formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(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().forEach(formTable ->
             formTable.getCells().forEach(recognizedTableCell ->
                 System.out.printf("%s ", recognizedTableCell.getText())));
     });

Parameters:

formUrl - Die URL des zu analysierenden Formulars.

Returns:

Eine PollerFlux<T,U> , die den Inhaltserkennungsvorgang abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von FormPagezurück.

beginRecognizeContentFromUrl

public PollerFlux> beginRecognizeContentFromUrl(String formUrl, RecognizeContentOptions recognizeContentOptions)

Erkennt Layoutdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Die Inhaltserkennung unterstützt die automatische Spracherkennung und mehrsprachige Dokumente. Stellen Sie daher nur einen Sprachcode bereit, wenn Sie erzwingen möchten, dass das Dokumentierte als bestimmte Sprache in der RecognizeContentOptionsverarbeitet wird.

Codebeispiel

String formUrl = "{formUrl}";
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeContentFromUrl(formUrl,
     new RecognizeContentOptions().setPollInterval(Duration.ofSeconds(5)))
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(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().forEach(formTable ->
             formTable.getCells().forEach(recognizedTableCell ->
                 System.out.printf("%s ", recognizedTableCell.getText())));
     });

Parameters:

formUrl - Die Quell-URL zum Eingabeformular.
recognizeContentOptions - Die zusätzliche konfigurierbare RecognizeContentOptions , die beim Erkennen von Inhalt/Layout in einem Formular übergeben werden kann.

Returns:

Ein PollerFlux<T,U> , der den erkannten Inhalts-/Layoutvorgang abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von FormPagezurück.

beginRecognizeCustomForms

public PollerFlux> beginRecognizeCustomForms(String modelId, Flux form, long length)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells mit oder ohne Bezeichnungen.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Beachten Sie, dass das data übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File form = new File("{local/file_path/fileName.jpg}");
 String modelId = "{custom_trained_model_id}";
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath())));

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomForms(modelId, buffer, form.length())
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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 - Das UUID-Zeichenfolgenformat benutzerdefinierte trainierte Modell-ID, die verwendet werden soll.
form - Die Daten des Formulars, aus dem Formularinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.

Returns:

Eine PollerFlux<T,U> , die den Benutzerdefinierten Formularerkennungsvorgang abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeCustomForms

public PollerFlux> beginRecognizeCustomForms(String modelId, Flux form, long length, RecognizeCustomFormsOptions recognizeCustomFormsOptions)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells mit oder ohne Bezeichnungen.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Beachten Sie, dass das data übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File form = new File("{local/file_path/fileName.jpg}");
 String modelId = "{custom_trained_model_id}";
 boolean includeFieldElements = true;
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath())));

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomForms(modelId, buffer, form.length(),
     new RecognizeCustomFormsOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setFieldElementsIncluded(includeFieldElements)
         .setPollInterval(Duration.ofSeconds(5)))
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .forEach((fieldName, formField) -> {
             System.out.printf("Field text: %s%n", fieldName);
             System.out.printf("Field value data text: %s%n", formField.getValueData().getText());
             System.out.printf("Confidence score: %.2f%n", formField.getConfidence());
         }));

Parameters:

modelId - Das UUID-Zeichenfolgenformat benutzerdefinierte trainierte Modell-ID, die verwendet werden soll.
form - Die Daten des Formulars, aus dem Formularinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.
recognizeCustomFormsOptions - Die zusätzliche konfigurierbare RecognizeCustomFormsOptions , die beim Erkennen von benutzerdefinierten Formularen übergeben werden kann.

Returns:

Eine PollerFlux<T,U> , die den Benutzerdefinierten Formularerkennungsvorgang abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeCustomFormsFromUrl

public PollerFlux> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells mit oder ohne Bezeichnungen.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

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

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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 - Das UUID-Zeichenfolgenformat benutzerdefinierte trainierte Modell-ID, die verwendet werden soll.
formUrl - Die URL des zu analysierenden Formulars.

Returns:

Eine PollerFlux<T,U> , die den Benutzerdefinierten Formularerkennungsvorgang abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeCustomFormsFromUrl

public PollerFlux> beginRecognizeCustomFormsFromUrl(String modelId, String formUrl, RecognizeCustomFormsOptions recognizeCustomFormsOptions)

Erkennt Formulardaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines benutzerdefinierten trainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

String formUrl = "{formUrl}";
 String modelId = "{model_id}";
 boolean includeFieldElements = true;

 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl,
     new RecognizeCustomFormsOptions()
         .setFieldElementsIncluded(includeFieldElements)
         .setPollInterval(Duration.ofSeconds(10)))
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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 - Das UUID-Zeichenfolgenformat benutzerdefinierte trainierte Modell-ID, die verwendet werden soll.
formUrl - Die Quell-URL zum Eingabeformular.
recognizeCustomFormsOptions - Die zusätzliche konfigurierbare RecognizeCustomFormsOptions , die beim Erkennen von benutzerdefinierten Formularen übergeben werden kann.

Returns:

Eine PollerFlux<T,U> , die den Benutzerdefinierten Formularerkennungsvorgang abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeIdentityDocuments

public PollerFlux> beginRecognizeIdentityDocuments(Flux identityDocument, long length)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren. Informationen zu Feldern in einem Identitätsdokument finden Sie hier .

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Beachten Sie, dass das identityDocument übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File license = new File("local/file_path/license.jpg");
 Flux<ByteBuffer> buffer =
     toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(license.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeIdentityDocuments(buffer, license.length())
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedIDDocumentResult -> {
         for (int i = 0; i < recognizedIDDocumentResult.size(); i++) {
             RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             System.out.printf("----------- Recognized license info for page %d -----------%n", i);

             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 - Die Daten des Dokuments, aus dem Identitätsdokumentinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zum Erkennen von Identitätsdokumenten abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeIdentityDocuments

public PollerFlux> beginRecognizeIdentityDocuments(Flux identityDocument, long length, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren. Informationen zu Feldern in einem Identitätsdokument finden Sie hier .

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Beachten Sie, dass das identityDocument übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File licenseDocument = new File("local/file_path/license.jpg");
 boolean includeFieldElements = true;
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer =
     toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(licenseDocument.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeIdentityDocuments(buffer,
     licenseDocument.length(),
     new RecognizeIdentityDocumentOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setFieldElementsIncluded(includeFieldElements))
     .setPollInterval(Duration.ofSeconds(5))
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedIDDocumentResult -> {
         for (int i = 0; i < recognizedIDDocumentResult.size(); i++) {
             RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             System.out.printf("----------- Recognized license info for page %d -----------%n", i);

             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 - Die Daten des Dokuments, aus dem Identitätsdokumentinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.
recognizeIdentityDocumentOptions - Die zusätzliche konfigurierbare RecognizeIdentityDocumentOptions , die bei der Analyse eines Identitätsdokuments übergeben werden kann.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zum Erkennen von Identitätsdokumenten abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeIdentityDocumentsFromUrl

public PollerFlux> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren. Informationen zu Feldern in einem Identitätsdokument finden Sie hier .

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

String idDocumentUrl = "idDocumentUrl";
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl(idDocumentUrl)
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedIDDocumentResult -> {
         for (int i = 0; i < recognizedIDDocumentResult.size(); i++) {
             RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             System.out.printf("----------- Recognized license info for page %d -----------%n", i);

             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 - Die Quell-URL zum Eingabeidentitätsdokument.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zum Erkennen von Identitätsdokumenten abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeIdentityDocumentsFromUrl

public PollerFlux> beginRecognizeIdentityDocumentsFromUrl(String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions)

Analysieren Sie Identitätsdokumente mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten Modell, das auf dem Modell von Identitätsdokumenten trainiert wurde, um Schlüsselinformationen aus Pässen und US-Führerscheinen zu extrahieren. Informationen zu Feldern in einem Identitätsdokument finden Sie hier .

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

String licenseDocumentUrl = "licenseDocumentUrl";
 boolean includeFieldElements = true;
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl,
     new RecognizeIdentityDocumentOptions()
         .setFieldElementsIncluded(includeFieldElements))
     .setPollInterval(Duration.ofSeconds(5))
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedIDDocumentResult -> {
         for (int i = 0; i < recognizedIDDocumentResult.size(); i++) {
             RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             System.out.printf("----------- Recognized license info for page %d -----------%n", i);

             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 - Die Quell-URL zum Eingabeidentitätsdokument.
recognizeIdentityDocumentOptions - Die zusätzliche konfigurierbare RecognizeIdentityDocumentOptions , die bei der Analyse eines Identitätsdokuments übergeben werden kann.

Returns:

Ein PollerFlux<T,U> , der den Vorgang zum Analysieren von Identitätsdokumenten abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeInvoices

public PollerFlux> beginRecognizeInvoices(Flux invoice, long length)

Erkennt Rechnungsdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten modelltrainierten Rechnungsmodells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Die Felder auf einer Rechnung finden Sie hier . Beachten Sie, dass das invoice übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File invoice = new File("local/file_path/invoice.jpg");
 Flux<ByteBuffer> buffer =
     toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(invoice.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeInvoices(buffer, invoice.length())
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedInvoices -> {
         for (int i = 0; i < recognizedInvoices.size(); i++) {
             RecognizedForm recognizedForm = recognizedInvoices.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             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 - Die Daten des Dokuments, aus dem Rechnungsinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zur Erkennung der Rechnung abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeInvoices

public PollerFlux> beginRecognizeInvoices(Flux invoice, long length, RecognizeInvoicesOptions recognizeInvoicesOptions)

Erkennt Rechnungsdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten rechnungstrainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Die Felder auf einer Rechnung finden Sie hier . Beachten Sie, dass das invoice übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

File invoice = new File("local/file_path/invoice.jpg");
 boolean includeFieldElements = true;
 // Utility method to convert input stream to Byte buffer
 Flux<ByteBuffer> buffer =
     toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(invoice.toPath())));
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeInvoices(buffer,
     invoice.length(),
     new RecognizeInvoicesOptions()
         .setContentType(FormContentType.IMAGE_JPEG)
         .setFieldElementsIncluded(includeFieldElements))
     .setPollInterval(Duration.ofSeconds(5))
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedInvoices -> {
         for (int i = 0; i < recognizedInvoices.size(); i++) {
             RecognizedForm recognizedForm = recognizedInvoices.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             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 - Die Daten des Dokuments, aus dem Rechnungsinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.
recognizeInvoicesOptions - Das zusätzliche konfigurierbare RecognizeInvoicesOptions , das bei der Analyse einer Rechnung übergeben werden kann.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zur Erkennung der Rechnung abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeInvoicesFromUrl

public PollerFlux> beginRecognizeInvoicesFromUrl(String invoiceUrl)

Erkennt Rechnungsdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten modelltrainierten Rechnungsmodells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Die Felder auf einer Rechnung finden Sie hier .

Codebeispiel

String invoiceUrl = "invoice_url";
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeInvoicesFromUrl(invoiceUrl)
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedInvoices -> {
         for (int i = 0; i < recognizedInvoices.size(); i++) {
             RecognizedForm recognizedForm = recognizedInvoices.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             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 - Die URL der zu analysierenden Rechnung.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zur Erkennung der Rechnung abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeInvoicesFromUrl

public PollerFlux> beginRecognizeInvoicesFromUrl(String invoiceUrl, RecognizeInvoicesOptions recognizeInvoicesOptions)

Erkennt Rechnungsdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten modelltrainierten Rechnungsmodells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

String invoiceUrl = "invoice_url";
 boolean includeFieldElements = true;
 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeInvoicesFromUrl(invoiceUrl,
     new RecognizeInvoicesOptions()
         .setFieldElementsIncluded(includeFieldElements))
     .setPollInterval(Duration.ofSeconds(5))
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(recognizedInvoices -> {
         for (int i = 0; i < recognizedInvoices.size(); i++) {
             RecognizedForm recognizedForm = recognizedInvoices.get(i);
             Map<String, FormField> recognizedFields = recognizedForm.getFields();
             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 - Die Quell-URL der Eingaberechnung.
recognizeInvoicesOptions - Das zusätzliche konfigurierbare RecognizeInvoicesOptions , das bei der Analyse einer Rechnung übergeben werden kann.

Returns:

Eine PollerFlux<T,U> , die den Vorgang zur Erkennung der Rechnung abruft, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeReceipts

public PollerFlux> beginRecognizeReceipts(Flux receipt, long length)

Erkennt Belegdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten, durch Beleg trainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Hier finden Sie Felder, die auf einer Quittung gefunden wurden. Beachten Sie, dass das receipt übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

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

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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:

receipt - Die Daten des Dokuments, aus dem Empfangsinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.

Returns:

Ein PollerFlux<T,U> , der den Vorgang zum Erkennen des Empfangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeReceipts

public PollerFlux> beginRecognizeReceipts(Flux receipt, long length, RecognizeReceiptsOptions recognizeReceiptsOptions)

Erkennt Belegdaten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und einem vordefinierten modellierten Beleg.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Hier finden Sie Felder, die auf einer Quittung gefunden wurden. Beachten Sie, dass das receipt übergebene wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux muss bei jedem Abonnieren die gleichen Daten erzeugen.

Codebeispiel

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

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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:

receipt - Die Daten des Dokuments, aus dem Empfangsinformationen erkannt werden sollen.
length - Die genaue Länge der Daten.
recognizeReceiptsOptions - Die zusätzliche konfigurierbare RecognizeReceiptsOptions , die bei der Analyse eines Belegs übergeben werden kann.

Returns:

Ein PollerFlux<T,U> , der den Vorgang zum Erkennen des Empfangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeReceiptsFromUrl

public PollerFlux> beginRecognizeReceiptsFromUrl(String receiptUrl)

Erkennt Belegdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten, durch Beleg trainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Hier finden Sie Felder, die auf einer Quittung gefunden wurden.

Codebeispiel

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

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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:

receiptUrl - Die URL des zu analysierenden Belegs.

Returns:

Ein PollerFlux<T,U> , der den Vorgang zum Erkennen des Empfangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

beginRecognizeReceiptsFromUrl

public PollerFlux> beginRecognizeReceiptsFromUrl(String receiptUrl, RecognizeReceiptsOptions recognizeReceiptsOptions)

Erkennt Belegdaten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) und eines vordefinierten, durch Beleg trainierten Modells.

Der Dienst unterstützt den Abbruch des zeitintensiven Vorgangs nicht und gibt eine Fehlermeldung zurück, die darauf hinweist, dass keine Abbruchunterstützung vorhanden ist.

Codebeispiel

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

 // if training polling operation completed, retrieve the final result.
 formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl)
     // if training polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .flatMap(Flux::fromIterable)
     .subscribe(recognizedForm -> recognizedForm.getFields()
         .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:

receiptUrl - Die Quell-URL zum Eingabebeleg.
recognizeReceiptsOptions - Die zusätzliche konfigurierbare RecognizeReceiptsOptions , die bei der Analyse eines Belegs übergeben werden kann.

Returns:

Ein PollerFlux<T,U> , der den Vorgang zum Erkennen des Empfangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt eine Liste von RecognizedFormzurück.

Gilt für: