Partilhar via


DocumentAnalysisAsyncClient Classe

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

public final class DocumentAnalysisAsyncClient

Essa classe fornece um cliente assíncrono para se conectar ao Reconhecimento de Formulários Serviço Cognitivo do Azure.

Esse cliente fornece métodos assíncronos para executar:

  1. Análise de Documento Personalizada: classificação, extração e análise de dados de formulários e documentos específicos para dados comerciais distintos e casos de uso. Use o modelo treinado personalizado passando sua modelId para o com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) método .
  2. Análise Geral de Documentos: extraia texto, tabelas, estrutura e pares chave-valor. Use o modelo de documento geral fornecido pelo serviço Reconhecimento de Formulários passando modelId="rebuilt-document" para o com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) método .
  3. Análise de Modelo Predefinida: analisar recibos, cartões de visita, faturas, IDs, W2 e outros documentos com 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álise de Layout: extraia texto, marcas de seleção e estruturas de tabelas, juntamente com suas coordenadas de caixa delimitadora, de formulários e documentos. Use o modelo de análise de layout fornecido pelo serviço passando modelId="prebuilt-layout" para o com.azure.ai.formrecognizer.documentanalysis.DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, BinaryData) método .
  5. Sondagem e retornos de chamada: inclui mecanismos para sondar o serviço para marcar o status de uma operação de análise ou registrar retornos de chamada para receber notificações quando a análise for concluída.

Esse cliente também fornece métodos diferentes com base em entradas de uma URL e entradas de um fluxo.

Nota: Esse cliente só dá V2022_08_31 suporte a e mais recente. Para usar uma versão de serviço mais antiga, FormRecognizerClient e .formrecognizer.training.FormTrainingClient.

Os clientes de serviço são o ponto de interação para que os desenvolvedores usem o Azure Reconhecimento de Formulários. DocumentAnalysisClient é o cliente de serviço síncrono e DocumentAnalysisAsyncClient é o cliente de serviço assíncrono. Os exemplos mostrados neste documento usam um objeto de credencial chamado DefaultAzureCredential para autenticação, que é apropriado para a maioria dos cenários, incluindo ambientes locais de desenvolvimento e produção. Além disso, é recomendável usar a identidade gerenciada para autenticação em ambientes de produção. Você pode encontrar mais informações sobre diferentes maneiras de autenticação e seus tipos de credenciais correspondentes na documentação da Identidade do Azure".

Exemplo: Construir um DocumentAnalysisAsyncClient com DefaultAzureCredential

O exemplo de código a seguir demonstra a criação de um DocumentAnalysisAsyncClient, usando o 'DefaultAzureCredentialBuilder' para configurá-lo.

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

Além disso, consulte o exemplo de código a ser usado AzureKeyCredential para a criação do cliente.

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

Resumo do método

Modificador e tipo Método e descrição
PollerFlux<OperationResult,AnalyzeResult> beginAnalyzeDocument(String modelId, BinaryData document)

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

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

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

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

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

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

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

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

Classifique um determinado documento usando um classificador de documento.

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

Classifique um determinado documento usando um classificador de documento.

Métodos herdados de java.lang.Object

Detalhes do método

beginAnalyzeDocument

public PollerFlux beginAnalyzeDocument(String modelId, BinaryData document)

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.

Observe que o data passado deve ser reproduzível se as novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux deve produzir os mesmos dados sempre que for assinado.

Exemplo de código

Analisar um 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 - A ID de modelo exclusiva a ser usada. Use isso para especificar a ID do modelo personalizado ou a ID do modelo predefinido. As IDs de modelo predefinidas com suporte podem ser encontradas aqui
document - Os dados do documento do qual analisar as informações.

Returns:

Um PollerFlux<T,U> que sonda o progresso da operação de análise de documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginAnalyzeDocument

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

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.

Observe que o data passado deve ser reproduzível se as novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux deve produzir os mesmos dados sempre que for assinado.

Exemplo de código

Analise um documento com opções configuráveis. .

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 - A ID de modelo exclusiva a ser usada. Use isso para especificar a ID do modelo personalizado ou a ID do modelo predefinido. As IDs de modelo predefinidas com suporte podem ser encontradas aqui
document - Os dados do documento do qual analisar as informações.
analyzeDocumentOptions - O configurável AnalyzeDocumentOptions adicional que pode ser passado ao analisar documentos.

Returns:

Um PollerFlux<T,U> que sonda o progresso da operação de análise de documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginAnalyzeDocumentFromUrl

public PollerFlux beginAnalyzeDocumentFromUrl(String modelId, String documentUrl)

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.

Exemplo de código

Analise um documento usando a URL do 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 - A ID de modelo exclusiva a ser usada. Use isso para especificar a ID do modelo personalizado ou a ID do modelo predefinido. As IDs de modelo predefinidas com suporte podem ser encontradas aqui
documentUrl - A URL do documento a ser analisado.

Returns:

Um PollerFlux<T,U> que sonda o progresso da operação de análise de documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginAnalyzeDocumentFromUrl

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

Analisa dados de documentos com OCR (reconhecimento óptico de caracteres) e valores semânticos de um determinado documento usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.

Exemplo de código

Analise um documento usando a URL do documento com opções configuráveis.

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 - A ID de modelo exclusiva a ser usada. Use isso para especificar a ID do modelo personalizado ou a ID do modelo predefinido. As IDs de modelo predefinidas com suporte podem ser encontradas aqui
documentUrl - A URL de origem para o formulário de entrada.
analyzeDocumentOptions - O configurável AnalyzeDocumentOptions adicional que pode ser passado ao analisar documentos.

Returns:

Um PollerFlux<T,U> que sonda o progresso da operação de análise de documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginClassifyDocument

public PollerFlux beginClassifyDocument(String classifierId, BinaryData document)

Classifique um determinado documento usando um classificador de documento. Para obter mais informações sobre como criar um modelo de classificador personalizado, consulte

O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.

Observe que o data passado deve ser reproduzível se as novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux deve produzir os mesmos dados sempre que for assinado.

Exemplo de código

Analise um documento com opções configuráveis.

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 - A ID do classificador exclusivo a ser usada. Use isso para especificar a ID do classificador personalizado.
document - Os dados do documento do qual analisar as informações. Para tipos de arquivo com suporte de serviço, consulte:

Returns:

Um PollerFlux<T,U> que sonda o progresso da operação de análise de documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginClassifyDocumentFromUrl

public PollerFlux beginClassifyDocumentFromUrl(String classifierId, String documentUrl)

Classifique um determinado documento usando um classificador de documento. Para obter mais informações sobre como criar um modelo de classificador personalizado, consulte

O serviço não dá suporte ao cancelamento da operação de execução prolongada e retorna com uma mensagem de erro indicando ausência de suporte de cancelamento.

Exemplo de código

Analise um documento usando a URL do 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 - A ID do classificador exclusivo a ser usada. Use isso para especificar a ID do classificador personalizado.
documentUrl - A URL do documento a ser analisado.

Returns:

Um PollerFlux<T,U> que sonda o progresso da operação de análise de documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

Aplica-se a