Freigeben über


DocumentAnalysisAsyncClient Klasse

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

public final class DocumentAnalysisAsyncClient

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 Dokumentanalyse: Klassifizierung, 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 com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) -Methode übergeben.
  2. Allgemeine Dokumentanalyse: Extrahieren Sie Text, Tabellen, Struktur und Schlüssel-Wert-Paare. Verwenden Sie das vom Formularerkennung Dienst bereitgestellte allgemeine Dokumentmodell, indem Sie modelId="rebuilt-document" an die com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) -Methode übergeben.
  3. Vordefinierte Modellanalyse: Analysieren von Belegen, Visitenkarten, Rechnungen, ID's, W2-Dokumenten und anderen Dokumenten mit supported prebuilt models. Use the prebuilt receipt model provided by passing modelId="prebuilt-receipt" into the com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) method.
  4. Layoutanalyse: Extrahieren Sie Text, Auswahlmarkierungen und Tabellenstrukturen zusammen mit ihren Begrenzungsrahmenkoordinaten aus Formularen und Dokumenten. Verwenden Sie das Layoutanalysemodell, das dem Dienst bereitgestellt wird, indem Sie modelId="prebuilt-layout" an die com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) -Methode übergeben.
  5. 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.

Dieser Client stellt auch verschiedene Methoden bereit, die auf Eingaben von einer URL und Eingaben aus einem Stream basieren.

Hinweis: Dieser Client unterstützt V2022_08_31 nur und neuer. So verwenden Sie eine ältere Dienstversion und FormRecognizerClient.formrecognizer.training.FormTrainingClient.

Dienstclients sind der Interaktionspunkt für Entwickler, um Azure Formularerkennung zu verwenden. DocumentAnalysisClient ist der synchrone Dienstclient und DocumentAnalysisAsyncClient 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 DocumentAnalysisAsyncClient mit DefaultAzureCredential

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

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

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

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

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document)

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers.

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

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers.

Geerbte Methoden von java.lang.Object

Details zur Methode

beginAnalyzeDocument

public PollerFlux beginAnalyzeDocument(String modelId, BinaryData document)

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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.

Beachten Sie, dass die data ü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

Analysieren eines Dokuments.

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

 documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, buffer)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult ->
         analyzeResult.getDocuments()
             .forEach(analyzedDocument ->
                 analyzedDocument.getFields()
                     .forEach((key, documentField) -> {
                         System.out.printf("Field text: %s%n", key);
                         System.out.printf("Field value data content: %s%n", documentField.getContent());
                         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
                     })));

Parameters:

modelId - Die eindeutige Modell-ID, die verwendet werden soll. Verwenden Sie diese Option, um die benutzerdefinierte Modell-ID oder die vordefinierte Modell-ID anzugeben. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier.
document - Die Daten des Dokuments, aus dem Informationen analysiert werden sollen.

Returns:

Eine PollerFlux<T,U> , die den Fortschritt des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginAnalyzeDocument

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

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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.

Beachten Sie, dass die data ü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

Analysieren sie ein Dokument mit konfigurierbaren Optionen. .

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

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

 documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, buffer, analyzeDocumentOptions)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult -> {
         System.out.println(analyzeResult.getModelId());
         analyzeResult.getDocuments()
             .forEach(analyzedDocument ->
                 analyzedDocument.getFields()
                     .forEach((key, documentField) -> {
                         System.out.printf("Field text: %s%n", key);
                         System.out.printf("Field value data content: %s%n", documentField.getContent());
                         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
                     }));
     });

Parameters:

modelId - Die eindeutige Modell-ID, die verwendet werden soll. Verwenden Sie diese Option, um die benutzerdefinierte Modell-ID oder die vordefinierte Modell-ID anzugeben. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier.
document - Die Daten des Dokuments, aus dem Informationen analysiert werden sollen.
analyzeDocumentOptions - Das zusätzliche konfigurierbare AnalyzeDocumentOptions , das bei der Analyse von Dokumenten möglicherweise übergeben wird.

Returns:

Eine PollerFlux<T,U> , die den Fortschritt des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginAnalyzeDocumentFromUrl

public PollerFlux beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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.

Codebeispiel

Analysieren Sie ein Dokument mithilfe der URL des Dokuments.

String documentUrl = "{document_url}";
 String modelId = "{model_id}";
 documentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl)
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult ->
         analyzeResult.getDocuments()
             .forEach(document ->
                 document.getFields()
                     .forEach((key, documentField) -> {
                         System.out.printf("Field text: %s%n", key);
                         System.out.printf("Field value data content: %s%n", documentField.getContent());
                         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
                     })));

Parameters:

modelId - Die eindeutige Modell-ID, die verwendet werden soll. Verwenden Sie diese Option, um die benutzerdefinierte Modell-ID oder die vordefinierte Modell-ID anzugeben. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier.
documentUrl - Die URL des zu analysierenden Dokuments.

Returns:

Eine PollerFlux<T,U> , die den Fortschritt des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginAnalyzeDocumentFromUrl

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

Analysiert Daten aus Dokumenten mit optischer Zeichenerkennung (OCR) und semantischen Werten aus einem bestimmten Dokument mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

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.

Codebeispiel

Analysieren Sie ein Dokument mithilfe der URL des Dokuments mit konfigurierbaren Optionen.

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

 documentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl,
         new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")))
     // if polling operation completed, retrieve the final result.
     .flatMap(AsyncPollResponse::getFinalResult)
     .subscribe(analyzeResult -> {
         System.out.println(analyzeResult.getModelId());
         analyzeResult.getDocuments()
             .forEach(document ->
                 document.getFields()
                     .forEach((key, documentField) -> {
                         System.out.printf("Field text: %s%n", key);
                         System.out.printf("Field value data content: %s%n", documentField.getContent());
                         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
                     }));
     });

Parameters:

modelId - Die eindeutige Modell-ID, die verwendet werden soll. Verwenden Sie diese Option, um die benutzerdefinierte Modell-ID oder die vordefinierte Modell-ID anzugeben. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier.
documentUrl - Die Quell-URL des Eingabeformulars.
analyzeDocumentOptions - Das zusätzliche konfigurierbare AnalyzeDocumentOptions , das bei der Analyse von Dokumenten möglicherweise übergeben wird.

Returns:

Eine PollerFlux<T,U> , die den Fortschritt des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginClassifyDocument

public PollerFlux beginClassifyDocument(String classifierId, BinaryData document)

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers. Weitere Informationen zum Erstellen eines benutzerdefinierten Klassifizierungsmodells finden Sie unter

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.

Beachten Sie, dass die data ü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

Analysieren sie ein Dokument mit konfigurierbaren Optionen.

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

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

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

Parameters:

classifierId - Die eindeutige Klassifizierungs-ID, die verwendet werden soll. Verwenden Sie diese, um die benutzerdefinierte Klassifizierer-ID anzugeben.
document - Die Daten des Dokuments, aus dem Informationen analysiert werden sollen. Informationen zu vom Dienst unterstützten Dateitypen finden Sie unter:

Returns:

Eine PollerFlux<T,U> , die den Fortschritt des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginClassifyDocumentFromUrl

public PollerFlux beginClassifyDocumentFromUrl(String classifierId, String documentUrl)

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers. Weitere Informationen zum Erstellen eines benutzerdefinierten Klassifizierungsmodells finden Sie unter

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.

Codebeispiel

Analysieren Sie ein Dokument mithilfe der URL des Dokuments.

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

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

Parameters:

classifierId - Die eindeutige Klassifizierungs-ID, die verwendet werden soll. Verwenden Sie diese, um die benutzerdefinierte Klassifizierer-ID anzugeben.
documentUrl - Die URL des zu analysierenden Dokuments.

Returns:

Eine PollerFlux<T,U> , die den Fortschritt des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

Gilt für: