Compartir a través de


DocumentAnalysisClient Clase

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

public final class DocumentAnalysisClient

Esta clase proporciona un cliente sincrónico para conectarse al Form Recognizer Azure Cognitive Services.

Este cliente proporciona métodos sincró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.DocumentAnalysisClient#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.DocumentAnalysisClient#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.DocumentAnalysisClient#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.DocumentAnalysisClient#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 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 DocumentAnalysisClient, mediante "DefaultAzureCredentialBuilder" para configurarlo.

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

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

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

Resumen del método

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

Analiza los datos de documentos mediante el reconocimiento óptico de caracteres (OCR) mediante cualquiera de los modelos precompilados o un modelo de análisis personalizado.

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

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.

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

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

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.

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

Clasifique un documento determinado mediante un clasificador de documentos.

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

Clasifique un documento determinado mediante un clasificador de documentos.

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

Clasifique un documento determinado mediante un clasificador de documentos.

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

Clasifique un documento determinado mediante un clasificador de documentos.

Métodos heredados de java.lang.Object

Detalles del método

beginAnalyzeDocument

public SyncPoller beginAnalyzeDocument(String modelId, BinaryData document)

Analiza los datos de documentos mediante el reconocimiento óptico de caracteres (OCR) 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

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 - 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 SyncPoller<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 SyncPoller beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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 con opciones configurables.

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 - 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.
context - Contexto adicional que se pasa a través de la canalización HTTP durante la llamada al servicio.

Returns:

que SyncPoller<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 SyncPoller 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 = "{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 - 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:

para SyncPoller<T,U> sondear 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 SyncPoller beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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}";
 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 - 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 del documento de entrada.
analyzeDocumentOptions - El elemento configurable AnalyzeDocumentOptions adicional que se puede pasar al analizar documentos.
context - Contexto adicional que se pasa a través de la canalización HTTP durante la llamada al servicio.

Returns:

para SyncPoller<T,U> sondear 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 SyncPoller 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.

Código de ejemplo

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

Returns:

que SyncPoller<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 SyncPoller beginClassifyDocument(String classifierId, BinaryData document, Context context)

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

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 - 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.
context - Contexto adicional que se pasa a través de la canalización HTTP durante la llamada al servicio.

Returns:

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

beginClassifyDocumentFromUrl

public SyncPoller 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 soporte técnico de cancelación.

Código de ejemplo

Analice un documento mediante la dirección URL del documento con opciones configurables.

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

Returns:

Para SyncPoller<T,U> sondear 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 SyncPoller beginClassifyDocumentFromUrl(String classifierId, String documentUrl, Context context)

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 soporte técnico de cancelación.

Código de ejemplo

Analice un documento mediante la dirección URL del documento con opciones configurables.

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 - Identificador de clasificador único que se va a usar. Úselo para especificar el identificador del clasificador personalizado. Los identificadores de modelo precompilados admitidos se pueden encontrar aquí.
documentUrl - Dirección URL de origen del documento de entrada.
context - Contexto adicional que se pasa a través de la canalización HTTP durante la llamada al servicio.

Returns:

Para SyncPoller<T,U> sondear 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