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