Freigeben über


DocumentAnalysisClient Klasse

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

public final class DocumentAnalysisClient

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

Dieser Client bietet synchrone 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.DocumentAnalysisClient#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.DocumentAnalysisClient#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.DocumentAnalysisClient#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.DocumentAnalysisClient#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 FormRecognizerClientFormTrainingClient.

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 DocumentAnalysisClientveranschaulicht, die zum Konfigurieren von "DefaultAzureCredentialBuilder" verwendet wird.

DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder()
     .endpoint("{endpoint}")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildClient();

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

DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder()
     .credential(new AzureKeyCredential("{key}"))
     .endpoint("{endpoint}")
     .buildClient();

Methodenzusammenfassung

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

Analysiert Daten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) mithilfe eines der vordefinierten Modelle oder eines benutzerdefinierten Analysemodells.

SyncPoller<OperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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

SyncPoller<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.

SyncPoller<OperationResult,AnalyzeResult> beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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

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

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers.

SyncPoller<OperationResult,AnalyzeResult> beginClassifyDocument(String classifierId, BinaryData document, Context context)

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers.

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

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers.

SyncPoller<OperationResult,AnalyzeResult> beginClassifyDocumentFromUrl(String classifierId, String documentUrl, Context context)

Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers.

Geerbte Methoden von java.lang.Object

Details zur Methode

beginAnalyzeDocument

public SyncPoller beginAnalyzeDocument(String modelId, BinaryData document)

Analysiert Daten aus Dokumenten mithilfe der optischen Zeichenerkennung (Optical Character Recognition, OCR) 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

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

     documentAnalysisClient.beginAnalyzeDocument(modelId, BinaryData.fromBytes(fileContent))
         .getFinalResult()
         .getDocuments().stream()
         .map(AnalyzedDocument::getFields)
         .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
             System.out.printf("Field text: %s%n", key);
             System.out.printf("Field value data content: %s%n", documentField.getContent());
             System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
         }));
 }

Parameters:

modelId - 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 SyncPoller<T,U> , die den Status des Analysedokumentvorgangs abfragt, bis er abgeschlossen ist, fehlgeschlagen ist oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginAnalyzeDocument

public SyncPoller beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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 mit konfigurierbaren Optionen.

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

 documentAnalysisClient.beginAnalyzeDocument(modelId, BinaryData.fromBytes(fileContent),
         new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")), Context.NONE)
     .getFinalResult()
     .getDocuments().stream()
     .map(AnalyzedDocument::getFields)
     .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
         System.out.printf("Field text: %s%n", key);
         System.out.printf("Field value data content: %s%n", documentField.getContent());
         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
     }));

Parameters:

modelId - 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.
context - Zusätzlicher Kontext, der während des Dienstaufrufs durch die HTTP-Pipeline übergeben wird.

Returns:

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

beginAnalyzeDocumentFromUrl

public SyncPoller 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 = "{custom_trained_model_id}";

 documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl).getFinalResult()
     .getDocuments().stream()
     .map(AnalyzedDocument::getFields)
     .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
         System.out.printf("Field text: %s%n", key);
         System.out.printf("Field value data content: %s%n", documentField.getContent());
         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
     }));

Parameters:

modelId - 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:

Ein SyncPoller<T,U> , um den Fortschritt des Analysedokumentvorgangs abzufragen, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginAnalyzeDocumentFromUrl

public SyncPoller beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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}";
 String modelId = "{custom_trained_model_id}";

 documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl).getFinalResult()
     .getDocuments().stream()
     .map(AnalyzedDocument::getFields)
     .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> {
         System.out.printf("Field text: %s%n", key);
         System.out.printf("Field value data content: %s%n", documentField.getContent());
         System.out.printf("Confidence score: %.2f%n", documentField.getConfidence());
     }));

Parameters:

modelId - 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 Eingabedokuments.
analyzeDocumentOptions - Das zusätzliche konfigurierbare AnalyzeDocumentOptions , das bei der Analyse von Dokumenten möglicherweise übergeben wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs durch die HTTP-Pipeline übergeben wird.

Returns:

Ein SyncPoller<T,U> , um den Fortschritt des Analysedokumentvorgangs abzufragen, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginClassifyDocument

public SyncPoller 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.

Codebeispiel

File document = new File("{local/file_path/fileName.jpg}");
 String classifierId = "{custom_trained_classifier_id}";
 byte[] fileContent = Files.readAllBytes(document.toPath());

 documentAnalysisClient.beginClassifyDocument(classifierId, BinaryData.fromBytes(fileContent))
     .getFinalResult()
     .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.

Returns:

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

beginClassifyDocument

public SyncPoller beginClassifyDocument(String classifierId, BinaryData document, Context context)

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

File document = new File("{local/file_path/fileName.jpg}");
 String classifierId = "{custom_trained_classifier_id}";
 byte[] fileContent = Files.readAllBytes(document.toPath());

 documentAnalysisClient.beginClassifyDocument(classifierId, BinaryData.fromBytes(fileContent), Context.NONE)
     .getFinalResult()
     .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.
context - Zusätzlicher Kontext, der während des Dienstaufrufs durch die HTTP-Pipeline übergeben wird.

Returns:

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

beginClassifyDocumentFromUrl

public SyncPoller 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 mit konfigurierbaren Optionen.

String documentUrl = "{file_source_url}";
 String classifierId = "{custom_trained_classifier_id}";

 documentAnalysisClient.beginClassifyDocumentFromUrl(classifierId, documentUrl)
     .getFinalResult()
     .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. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier.
documentUrl - Die Quell-URL des Eingabedokuments.

Returns:

Ein SyncPoller<T,U> , um den Fortschritt des Analysedokumentvorgangs abzufragen, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

beginClassifyDocumentFromUrl

public SyncPoller beginClassifyDocumentFromUrl(String classifierId, String documentUrl, Context context)

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 mit konfigurierbaren Optionen.

String documentUrl = "{file_source_url}";
 String classifierId = "{custom_trained_classifier_id}";

 documentAnalysisClient.beginClassifyDocumentFromUrl(classifierId, documentUrl, Context.NONE)
     .getFinalResult()
     .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. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier.
documentUrl - Die Quell-URL des Eingabedokuments.
context - Zusätzlicher Kontext, der während des Dienstaufrufs durch die HTTP-Pipeline übergeben wird.

Returns:

Ein SyncPoller<T,U> , um den Fortschritt des Analysedokumentvorgangs abzufragen, bis er abgeschlossen, fehlgeschlagen oder abgebrochen wurde. Der abgeschlossene Vorgang gibt einen AnalyzeResultzurück.

Gilt für: