DocumentAnalysisAsyncClient Classe
- java.
lang. Object - com.
azure. ai. formrecognizer. documentanalysis. DocumentAnalysisAsyncClient
- com.
public final class DocumentAnalysisAsyncClient
Cette classe fournit un client asynchrone pour se connecter au Form Recognizer Azure Cognitive Service.
Ce client fournit des méthodes asynchrones pour effectuer les opérations suivantes :
- Analyse des documents personnalisés : classification, extraction et analyse des données de formulaires et de documents spécifiques à des données métier et à des cas d’usage distincts. Utilisez le modèle entraîné personnalisé en passant son modelId dans la com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) méthode .
- Analyse de document générale : extrayez du texte, des tables, de la structure et des paires clé-valeur. Utilisez le modèle de document général fourni par le service Form Recognizer en passant modelId="reconstruit-document » dans la com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) méthode.
- Analyse de modèle prédéfinie : analyser les reçus, les cartes de visite, les factures, les ID, les W2 et d’autres documents avec 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.
- Analyse de la disposition : extrayez du texte, des marques de sélection et des structures de tableaux, ainsi que leurs coordonnées de zone englobante, à partir de formulaires et de documents. Utilisez le modèle d’analyse de la disposition fourni par le service en passant modelId="prebuilt-layout » dans la com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) méthode.
- Interrogation et rappels : il comprend des mécanismes permettant d’interroger le service pour case activée la status d’une opération d’analyse ou d’inscrire des rappels pour recevoir des notifications une fois l’analyse terminée.
Ce client fournit également différentes méthodes basées sur les entrées d’une URL et les entrées d’un flux.
Note: Ce client prend uniquement en charge V2022_08_31 et plus récent. Pour utiliser une version de service antérieure, FormRecognizerClient et .formrecognizer.training.FormTrainingClient.
Les clients de service sont le point d’interaction permettant aux développeurs d’utiliser Azure Form Recognizer. DocumentAnalysisClient est le client de service synchrone et DocumentAnalysisAsyncClient est le client de service asynchrone. Les exemples présentés dans ce document utilisent un objet d’informations d’identification nommé DefaultAzureCredential pour l’authentification, ce qui est approprié pour la plupart des scénarios, y compris les environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser l’identité managée pour l’authentification dans les environnements de production. Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity .
Exemple : Construire un DocumentAnalysisAsyncClient avec DefaultAzureCredential
L’exemple de code suivant illustre la création d’un DocumentAnalysisAsyncClient, à l’aide de « DefaultAzureCredentialBuilder » pour le configurer.
DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder()
.endpoint("{endpoint}")
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
En outre, consultez l’exemple de code ci-dessous à utiliser pour la AzureKeyCredential création du client.
DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("{endpoint}")
.buildAsyncClient();
Résumé de la méthode
Modificateur et type | Méthode et description |
---|---|
Poller |
beginAnalyzeDocument(String modelId, BinaryData document)
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé. |
Poller |
beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions)
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé. |
Poller |
beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé. |
Poller |
beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions)
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé. |
Poller |
beginClassifyDocument(String classifierId, BinaryData document)
Classifier un document donné à l’aide d’un classifieur de document. |
Poller |
beginClassifyDocumentFromUrl(String classifierId, String documentUrl)
Classifier un document donné à l’aide d’un classifieur de document. |
Méthodes héritées de java.lang.Object
Détails de la méthode
beginAnalyzeDocument
public PollerFlux
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Notez que le data
passé doit être rejouable si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux
doit produire les mêmes données chaque fois qu’il est abonné.
Code sample
Analyser un document.
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
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Notez que le data
passé doit être rejouable si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux
doit produire les mêmes données chaque fois qu’il est abonné.
Code sample
Analysez un document avec des options configurables. .
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
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
Analysez un document à l’aide de l’URL du document.
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
Analyse les données des documents avec la reconnaissance optique de caractères (OCR) et les valeurs sémantiques d’un document donné à l’aide de l’un des modèles prédéfinis ou d’un modèle d’analyse personnalisé.
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
Analysez un document à l’aide de l’URL du document avec des options configurables.
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
Classifier un document donné à l’aide d’un classifieur de document. Pour plus d’informations sur la création d’un modèle de classifieur personnalisé, consultez
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Notez que le data
passé doit être rejouable si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux
doit produire les mêmes données chaque fois qu’il est abonné.
Code sample
Analysez un document avec des options configurables.
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
Classifier un document donné à l’aide d’un classifieur de document. Pour plus d’informations sur la création d’un modèle de classifieur personnalisé, consultez
Le service ne prend pas en charge l’annulation de l’opération de longue durée et retourne un message d’erreur indiquant l’absence de prise en charge de l’annulation.
Code sample
Analysez un document à l’aide de l’URL du document.
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:
S’applique à
Azure SDK for Java
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour