DocumentAnalysisAsyncClient Klasse
- java.
lang. Object - com.
azure. ai. formrecognizer. documentanalysis. DocumentAnalysisAsyncClient
- com.
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:
- 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.
- 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.
- 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.
- 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.
- 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 |
---|---|
Poller |
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. |
Poller |
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. |
Poller |
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. |
Poller |
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. |
Poller |
beginClassifyDocument(String classifierId, BinaryData document)
Klassifizieren Sie ein bestimmtes Dokument mithilfe eines Dokumentklassifizierers. |
Poller |
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
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:
Returns:
beginAnalyzeDocument
public PollerFlux
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:
Returns:
beginAnalyzeDocumentFromUrl
public PollerFlux
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:
Returns:
beginAnalyzeDocumentFromUrl
public PollerFlux
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:
Returns:
beginClassifyDocument
public PollerFlux
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:
Returns:
beginClassifyDocumentFromUrl
public PollerFlux
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:
Returns:
Gilt für:
Azure SDK for Java