Compartir a través de


DocumentAnalysisAsyncClient Clase

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

public final class DocumentAnalysisAsyncClient

Esta clase proporciona un cliente asincrónico para conectarse al Form Recognizer Azure Cognitive Service.

Este cliente proporciona métodos asincrónicos para realizar:

  1. Análisis de documentos personalizados: clasificación, extracción y análisis de datos de formularios y documentos específicos de distintos datos empresariales y casos de uso. Use el modelo entrenado personalizado pasando su modelId al com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) método .
  2. Análisis general de documentos: extraiga pares de texto, tablas, estructura y clave-valor. Use el modelo de documento general proporcionado por el servicio Form Recognizer pasando modelId="rebuilt-document" al com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) método .
  3. Análisis de modelos precompilado: analizar recibos, tarjetas de presentación, facturas, identificadores, W2 y otros documentos con 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. Análisis de diseño: extraiga texto, marcas de selección y estructuras de tablas, junto con sus coordenadas de rectángulo delimitador, de formularios y documentos. Use el modelo de análisis de diseño proporcionado por el servicio pasando modelId="prebuilt-layout" al com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) método .
  5. Sondeo y devoluciones de llamada: incluye mecanismos para sondear el servicio para comprobar el estado de una operación de análisis o registrar devoluciones de llamada para recibir notificaciones cuando se completa el análisis.

Este cliente también proporciona distintos métodos basados en entradas de una dirección URL y entradas de una secuencia.

Nota: Este cliente solo admite V2022_08_31 y versiones más recientes. Para usar una versión de servicio anterior, FormRecognizerClient y .formrecognizer.training.FormTrainingClient.

Los clientes de servicio son el punto de interacción para que los desarrolladores usen Azure Form Recognizer. DocumentAnalysisClient es el cliente de servicio sincrónico y DocumentAnalysisAsyncClient es el cliente de servicio asincrónico. Los ejemplos que se muestran en este documento usan un objeto de credencial denominado DefaultAzureCredential para la autenticación, que es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. Además, se recomienda usar la identidad administrada para la autenticación en entornos de producción. Puede encontrar más información sobre las distintas formas de autenticación y sus tipos de credenciales correspondientes en la documentación de Azure Identity.

Ejemplo: Construcción de un documentAnalysisAsyncClient con DefaultAzureCredential

En el ejemplo de código siguiente se muestra la creación de un DocumentAnalysisAsyncClient, mediante "DefaultAzureCredentialBuilder" para configurarlo.

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

Además, consulte el ejemplo de código siguiente para usarlo AzureKeyCredential para la creación de clientes.

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

Resumen del método

Modificador y tipo Método y descripción
PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document)

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

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

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

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

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

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

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

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

Clasifique un documento determinado mediante un clasificador de documentos.

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

Clasifique un documento determinado mediante un clasificador de documentos.

Métodos heredados de java.lang.Object

Detalles del método

beginAnalyzeDocument

public PollerFlux beginAnalyzeDocument(String modelId, BinaryData document)

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

El servicio no admite la cancelación de la operación de larga duración y devuelve un mensaje de error que indica la ausencia de compatibilidad con la cancelación.

Tenga en cuenta que el data pasado debe reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux debe generar los mismos datos cada vez que se suscriba.

Código de ejemplo

Analice un documento.

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 - Identificador de modelo único que se va a usar. Úselo para especificar el identificador de modelo personalizado o el identificador del modelo precompilado. Los identificadores de modelo precompilados admitidos se pueden encontrar aquí.
document - Datos del documento del que se va a analizar la información.

Returns:

que PollerFlux<T,U> sondea el progreso de la operación de análisis del documento hasta que se haya completado, se haya producido un error o se haya cancelado. La operación completada devuelve un AnalyzeResult.

beginAnalyzeDocument

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

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

El servicio no admite la cancelación de la operación de larga duración y devuelve un mensaje de error que indica la ausencia de compatibilidad con la cancelación.

Tenga en cuenta que el data pasado debe reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux debe generar los mismos datos cada vez que se suscriba.

Código de ejemplo

Analice un documento con opciones 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:

modelId - Identificador de modelo único que se va a usar. Úselo para especificar el identificador de modelo personalizado o el identificador del modelo precompilado. Los identificadores de modelo precompilados admitidos se pueden encontrar aquí.
document - Datos del documento del que se va a analizar la información.
analyzeDocumentOptions - El elemento configurable AnalyzeDocumentOptions adicional que se puede pasar al analizar documentos.

Returns:

que PollerFlux<T,U> sondea el progreso de la operación de análisis del documento hasta que se haya completado, se haya producido un error o se haya cancelado. La operación completada devuelve un AnalyzeResult.

beginAnalyzeDocumentFromUrl

public PollerFlux beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

El servicio no admite la cancelación de la operación de larga duración y devuelve un mensaje de error que indica la ausencia de compatibilidad con la cancelación.

Código de ejemplo

Analice un documento mediante la dirección URL del documento.

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 - Identificador de modelo único que se va a usar. Úselo para especificar el identificador de modelo personalizado o el identificador del modelo precompilado. Los identificadores de modelo precompilados admitidos se pueden encontrar aquí.
documentUrl - Dirección URL del documento que se va a analizar.

Returns:

que PollerFlux<T,U> sondea el progreso de la operación de análisis del documento hasta que se haya completado, se haya producido un error o se haya cancelado. La operación completada devuelve un AnalyzeResult.

beginAnalyzeDocumentFromUrl

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

Analiza datos de documentos con reconocimiento óptico de caracteres (OCR) y valores semánticos de un documento determinado mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

El servicio no admite la cancelación de la operación de larga duración y devuelve un mensaje de error que indica la ausencia de compatibilidad con la cancelación.

Código de ejemplo

Analice un documento mediante la dirección URL del documento con opciones 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:

modelId - Identificador de modelo único que se va a usar. Úselo para especificar el identificador de modelo personalizado o el identificador del modelo precompilado. Los identificadores de modelo precompilados admitidos se pueden encontrar aquí.
documentUrl - Dirección URL de origen al formulario de entrada.
analyzeDocumentOptions - El elemento configurable AnalyzeDocumentOptions adicional que se puede pasar al analizar documentos.

Returns:

que PollerFlux<T,U> sondea el progreso de la operación de análisis del documento hasta que se haya completado, se haya producido un error o se haya cancelado. La operación completada devuelve un AnalyzeResult.

beginClassifyDocument

public PollerFlux beginClassifyDocument(String classifierId, BinaryData document)

Clasifique un documento determinado mediante un clasificador de documentos. Para obtener más información sobre cómo crear un modelo de clasificador personalizado, consulte

El servicio no admite la cancelación de la operación de larga duración y devuelve un mensaje de error que indica la ausencia de compatibilidad con la cancelación.

Tenga en cuenta que el data pasado debe reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux debe generar los mismos datos cada vez que se suscriba.

Código de ejemplo

Analice un documento con opciones 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:

classifierId - Identificador de clasificador único que se va a usar. Úselo para especificar el identificador del clasificador personalizado.
document - Datos del documento del que se va a analizar la información. Para ver los tipos de archivo admitidos por el servicio, consulte:

Returns:

que PollerFlux<T,U> sondea el progreso de la operación de análisis del documento hasta que se haya completado, se haya producido un error o se haya cancelado. La operación completada devuelve un AnalyzeResult.

beginClassifyDocumentFromUrl

public PollerFlux beginClassifyDocumentFromUrl(String classifierId, String documentUrl)

Clasifique un documento determinado mediante un clasificador de documentos. Para obtener más información sobre cómo crear un modelo de clasificador personalizado, consulte

El servicio no admite la cancelación de la operación de larga duración y devuelve un mensaje de error que indica la ausencia de compatibilidad con la cancelación.

Código de ejemplo

Analice un documento mediante la dirección URL del documento.

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 - Identificador de clasificador único que se va a usar. Úselo para especificar el identificador del clasificador personalizado.
documentUrl - Dirección URL del documento que se va a analizar.

Returns:

que PollerFlux<T,U> sondea el progreso de la operación de análisis del documento hasta que se haya completado, se haya producido un error o se haya cancelado. La operación completada devuelve un AnalyzeResult.

Se aplica a