Partilhar via


DocumentAnalysisClient Classe

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

public final class DocumentAnalysisClient

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

Esse cliente fornece métodos sí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.DocumentAnalysisClient#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.DocumentAnalysisClient#beginAnalyzeDocument(String, BinaryData) método .
  3. Análise de Modelo Predefinida: analisar recibos, cartões de visita, faturas, IDs, W2's 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.DocumentAnalysisClient#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.DocumentAnalysisClient#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 e é mais recente. Para usar uma versão FormRecognizerClient de serviço mais antiga e FormTrainingClient.

Os clientes de serviço são o ponto de interação para os desenvolvedores usarem o Reconhecimento de Formulários do Azure. 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, recomendamos 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 credencial 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 DocumentAnalysisClient, usando o 'DefaultAzureCredentialBuilder' para configurá-lo.

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

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

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

Resumo do método

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

Analisa dados de documentos usando o OCR (reconhecimento óptico de caracteres) usando qualquer um dos modelos predefinidos ou um modelo de análise personalizado.

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

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.

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

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

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.

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

Classifique um determinado documento usando um classificador de documento.

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

Classifique um determinado documento usando um classificador de documento.

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

Classifique um determinado documento usando um classificador de documento.

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

Classifique um determinado documento usando um classificador de documento.

Métodos herdados de java.lang.Object

Detalhes do método

beginAnalyzeDocument

public SyncPoller beginAnalyzeDocument(String modelId, BinaryData document)

Analisa dados de documentos usando o OCR (reconhecimento óptico de caracteres) 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

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 - 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 SyncPoller<T,U> que sonda o andamento da operação de análise de documentos até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginAnalyzeDocument

public SyncPoller beginAnalyzeDocument(String modelId, BinaryData document, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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 com opções configuráveis.

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 - 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.
context - Contexto adicional que é passado pelo pipeline HTTP durante a chamada de serviço.

Returns:

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

beginAnalyzeDocumentFromUrl

public SyncPoller 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 ao cancelamento

Exemplo de código

Analise um documento usando a URL do 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 - 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 SyncPoller<T,U> para sondar o progresso da operação de análise do documento até que ela seja concluída, tenha falhado ou tenha sido cancelada. A operação concluída retorna um AnalyzeResult.

beginAnalyzeDocumentFromUrl

public SyncPoller beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, AnalyzeDocumentOptions analyzeDocumentOptions, Context context)

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 ao cancelamento

Exemplo de código

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

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 - 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 documento de entrada.
analyzeDocumentOptions - O configurável AnalyzeDocumentOptions adicional que pode ser passado ao analisar documentos.
context - Contexto adicional que é passado pelo pipeline HTTP durante a chamada de serviço.

Returns:

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

beginClassifyDocument

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

Exemplo de código

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

Returns:

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

beginClassifyDocument

public SyncPoller beginClassifyDocument(String classifierId, BinaryData document, Context context)

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

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 - 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.
context - Contexto adicional que é passado pelo pipeline HTTP durante a chamada de serviço.

Returns:

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

beginClassifyDocumentFromUrl

public SyncPoller 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 ao cancelamento

Exemplo de código

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

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 - A ID do classificador exclusivo a ser usada. Use isso para especificar a ID do classificador personalizado. As IDs de modelo predefinidas com suporte podem ser encontradas aqui
documentUrl - A URL de origem para o documento de entrada.

Returns:

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

beginClassifyDocumentFromUrl

public SyncPoller beginClassifyDocumentFromUrl(String classifierId, String documentUrl, Context context)

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 ao cancelamento

Exemplo de código

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

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 - A ID do classificador exclusivo a ser usada. Use isso para especificar a ID do classificador personalizado. As IDs de modelo predefinidas com suporte podem ser encontradas aqui
documentUrl - A URL de origem para o documento de entrada.
context - Contexto adicional que é passado pelo pipeline HTTP durante a chamada de serviço.

Returns:

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

Aplica-se a