DocumentAnalysisClient class
Um cliente para interagir com os recursos de análise do serviço Reconhecimento de Formulários.
Exemplos:
O serviço Reconhecimento de Formulários e os clientes dão suporte a dois meios de autenticação:
Azure Active Directory
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(endpoint, credential);
Chave de API (Chave de Assinatura)
import { DocumentAnalysisClient, AzureKeyCredential } from "@azure/ai-form-recognizer";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new AzureKeyCredential("<api key>");
const client = new DocumentAnalysisClient(endpoint, credential);
Construtores
Document |
Criar uma Exemplo:
|
Document |
Crie uma Consulte o pacote para obter mais informações sobre como autenticar com o Exemplo:
|
Métodos
begin |
Extraia dados de uma entrada usando um modelo dado por sua ID exclusiva. Essa operação dá suporte a modelos personalizados e predefinidos. Por exemplo, para usar o modelo de fatura predefinido, fornecer a ID do modelo "prebuilt-invoice" ou usar o modelo de layout predefinido mais simples, forneça a ID do modelo "prebuilt-layout". Os campos produzidos no ExemplosEsse método dá suporte a corpos de solicitação que podem ser transmitidos (FormRecognizerRequestBody), como Node.JS
|
begin |
Extraia dados de uma entrada usando um modelo que tem um esquema de documento conhecido e fortemente tipado (um DocumentModel). Os campos produzidos no ExemplosEsse método dá suporte a corpos de solicitação que podem ser transmitidos (FormRecognizerRequestBody), como Node.JS Se a entrada fornecida for uma cadeia de caracteres, ela será tratada como uma URL para o local de um documento a ser analisado. Consulte o método beginAnalyzeDocumentFromUrl para obter mais informações. O uso desse método é preferencial ao usar URLs, e o suporte à URL só é fornecido nesse método para compatibilidade com versões anteriores.
|
begin |
Extraia dados de uma entrada usando um modelo dado por sua ID exclusiva. Essa operação dá suporte a modelos personalizados e predefinidos. Por exemplo, para usar o modelo de fatura predefinido, fornecer a ID do modelo "prebuilt-invoice" ou usar o modelo de layout predefinido mais simples, forneça a ID do modelo "prebuilt-layout". Os campos produzidos no ExemplosEsse método dá suporte à extração de dados de um arquivo em uma determinada URL. O serviço Reconhecimento de Formulários tentará baixar um arquivo usando a URL enviada, portanto, a URL deve estar acessível pela Internet pública. Por exemplo, um token SAS pode ser usado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço usará a URL codificada em SAS para solicitar o arquivo.
|
begin |
Extraia dados de uma entrada usando um modelo que tem um esquema de documento conhecido e fortemente tipado (um DocumentModel). Os campos produzidos no ExemplosEsse método dá suporte à extração de dados de um arquivo em uma determinada URL. O serviço Reconhecimento de Formulários tentará baixar um arquivo usando a URL enviada, portanto, a URL deve estar acessível pela Internet pública. Por exemplo, um token SAS pode ser usado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço usará a URL codificada em SAS para solicitar o arquivo.
|
begin |
Classifique um documento usando um classificador personalizado dado por sua ID. Esse método produz uma operação de execução longa (poller) que eventualmente produzirá um ExemploEsse método dá suporte a corpos de solicitação que podem ser transmitidos (FormRecognizerRequestBody), como Node.JS
|
begin |
Classifique um documento de uma URL usando um classificador personalizado dado por sua ID. Esse método produz uma operação de execução longa (poller) que eventualmente produzirá um ExemploEsse método dá suporte à extração de dados de um arquivo em uma determinada URL. O serviço Reconhecimento de Formulários tentará baixar um arquivo usando a URL enviada, portanto, a URL deve estar acessível pela Internet pública. Por exemplo, um token SAS pode ser usado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço usará a URL codificada em SAS para solicitar o arquivo.
|
Detalhes do construtor
DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)
Criar uma DocumentAnalysisClient
instância de um ponto de extremidade de recurso e uma chave de API estática (KeyCredential
),
Exemplo:
import { DocumentAnalysisClient, AzureKeyCredential } from "@azure/ai-form-recognizer";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new AzureKeyCredential("<api key>");
const client = new DocumentAnalysisClient(endpoint, credential);
new DocumentAnalysisClient(endpoint: string, credential: KeyCredential, options?: DocumentAnalysisClientOptions)
Parâmetros
- endpoint
-
string
a URL do ponto de extremidade de uma instância dos Serviços Cognitivos do Azure
- credential
- KeyCredential
um KeyCredential que contém a chave de assinatura da instância dos Serviços Cognitivos
- options
- DocumentAnalysisClientOptions
configurações opcionais para configurar todos os métodos no cliente
DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)
Crie uma DocumentAnalysisClient
instância de um ponto de extremidade de recurso e uma identidade TokenCredential
do Azure .
Consulte o pacote para obter mais informações sobre como autenticar com o @azure/identity
Azure Active Directory.
Exemplo:
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(endpoint, credential);
new DocumentAnalysisClient(endpoint: string, credential: TokenCredential, options?: DocumentAnalysisClientOptions)
Parâmetros
- endpoint
-
string
a URL do ponto de extremidade de uma instância dos Serviços Cognitivos do Azure
- credential
- TokenCredential
uma instância TokenCredential do @azure/identity
pacote
- options
- DocumentAnalysisClientOptions
configurações opcionais para configurar todos os métodos no cliente
Detalhes do método
beginAnalyzeDocument(string, FormRecognizerRequestBody, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
Extraia dados de uma entrada usando um modelo dado por sua ID exclusiva.
Essa operação dá suporte a modelos personalizados e predefinidos. Por exemplo, para usar o modelo de fatura predefinido, fornecer a ID do modelo "prebuilt-invoice" ou usar o modelo de layout predefinido mais simples, forneça a ID do modelo "prebuilt-layout".
Os campos produzidos no AnalyzeResult
dependem do modelo usado para análise e os valores nos campos de qualquer documento extraído dependem dos tipos de documento no modelo (se houver) e de seus esquemas de campo correspondentes.
Exemplos
Esse método dá suporte a corpos de solicitação que podem ser transmitidos (FormRecognizerRequestBody), como Node.JS ReadableStream
objetos, s e ArrayBuffer
s do navegadorBlob
. O conteúdo do corpo será carregado no serviço para análise.
import * as fs from "fs";
const file = fs.createReadStream("path/to/receipt.pdf");
// The model that is passed to the following function call determines the type of the eventual result. In the
// example, we will use the prebuilt receipt model, but you could use a custom model ID/name instead.
const poller = await client.beginAnalyzeDocument("prebuilt-receipt", file);
// The result is a long-running operation (poller), which must itself be polled until the operation completes
const {
pages, // pages extracted from the document, which contain lines and words
tables, // extracted tables, organized into cells that contain their contents
styles, // text styles (ex. handwriting) that were observed in the document
keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)
entities, // extracted entities in the input's content, which are categorized (ex. "Location" or "Organization")
documents // extracted documents (instances of one of the model's document types and its field schema)
} = await poller.pollUntilDone();
// Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model
const [{ fields: receipt }] = documents;
// The fields correspond to the model's document types and their field schemas. Refer to the Form Recognizer
// documentation for information about the document types and field schemas within a model, or use the `getModel`
// operation to view this information programmatically.
console.log("The type of this receipt is:", receipt?.["ReceiptType"]?.value);
function beginAnalyzeDocument(modelId: string, document: FormRecognizerRequestBody, options?: AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
Parâmetros
- modelId
-
string
a ID exclusiva (nome) do modelo dentro do recurso desse cliente
- document
- FormRecognizerRequestBody
um FormRecognizerRequestBody que será carregado com a solicitação
configurações opcionais para a operação de análise e o sondador
Retornos
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
uma operação de longa execução (sondador) que eventualmente produzirá um AnalyzeResult
beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)
Extraia dados de uma entrada usando um modelo que tem um esquema de documento conhecido e fortemente tipado (um DocumentModel).
Os campos produzidos no AnalyzeResult
dependem do modelo usado para análise. No TypeScript, o tipo do resultado para essa sobrecarga de método é inferido do tipo de entrada DocumentModel
.
Exemplos
Esse método dá suporte a corpos de solicitação que podem ser transmitidos (FormRecognizerRequestBody), como Node.JS ReadableStream
objetos, s e ArrayBuffer
s do navegadorBlob
. O conteúdo do corpo será carregado no serviço para análise.
Se a entrada fornecida for uma cadeia de caracteres, ela será tratada como uma URL para o local de um documento a ser analisado. Consulte o método beginAnalyzeDocumentFromUrl para obter mais informações. O uso desse método é preferencial ao usar URLs, e o suporte à URL só é fornecido nesse método para compatibilidade com versões anteriores.
import * as fs from "fs";
// See the `prebuilt` folder in the SDK samples (http://aka.ms/azsdk/formrecognizer/js/samples) for examples of
// DocumentModels for known prebuilts.
import { PrebuiltReceiptModel } from "./prebuilt-receipt.ts";
const file = fs.createReadStream("path/to/receipt.pdf");
// The model that is passed to the following function call determines the type of the eventual result. In the
// example, we will use the prebuilt receipt model.
const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, file);
// The result is a long-running operation (poller), which must itself be polled until the operation completes
const {
pages, // pages extracted from the document, which contain lines and words
tables, // extracted tables, organized into cells that contain their contents
styles, // text styles (ex. handwriting) that were observed in the document
keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)
documents // extracted documents (instances of one of the model's document types and its field schema)
} = await poller.pollUntilDone();
// Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model
const [{ fields: receipt }] = documents;
// Since we used the strongly-typed PrebuiltReceiptModel object instead of the "prebuilt-receipt" model ID
// string, the fields of the receipt are strongly-typed and have camelCase names (as opposed to PascalCase).
console.log("The type of this receipt is:", receipt.receiptType?.value);
function beginAnalyzeDocument<Result>(model: DocumentModel<Result>, document: FormRecognizerRequestBody, options?: AnalyzeDocumentOptions<Result>): Promise<AnalysisPoller<Result>>
Parâmetros
- model
-
DocumentModel<Result>
um DocumentModel que representa o modelo a ser usado para análise e o tipo de saída esperado
- document
- FormRecognizerRequestBody
um FormRecognizerRequestBody que será carregado com a solicitação
- options
-
AnalyzeDocumentOptions<Result>
configurações opcionais para a operação de análise e o sondador
Retornos
Promise<AnalysisPoller<Result>>
uma operação de longa execução (poller) que eventualmente produzirá um AnalyzeResult
com documentos que têm o tipo de resultado associado ao modelo de entrada
beginAnalyzeDocumentFromUrl(string, string, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
Extraia dados de uma entrada usando um modelo dado por sua ID exclusiva.
Essa operação dá suporte a modelos personalizados e predefinidos. Por exemplo, para usar o modelo de fatura predefinido, fornecer a ID do modelo "prebuilt-invoice" ou usar o modelo de layout predefinido mais simples, forneça a ID do modelo "prebuilt-layout".
Os campos produzidos no AnalyzeResult
dependem do modelo usado para análise e os valores nos campos de qualquer documento extraído dependem dos tipos de documento no modelo (se houver) e de seus esquemas de campo correspondentes.
Exemplos
Esse método dá suporte à extração de dados de um arquivo em uma determinada URL. O serviço Reconhecimento de Formulários tentará baixar um arquivo usando a URL enviada, portanto, a URL deve estar acessível pela Internet pública. Por exemplo, um token SAS pode ser usado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço usará a URL codificada em SAS para solicitar o arquivo.
// the URL must be publicly accessible
const url = "<receipt document url>";
// The model that is passed to the following function call determines the type of the eventual result. In the
// example, we will use the prebuilt receipt model, but you could use a custom model ID/name instead.
const poller = await client.beginAnalyzeDocument("prebuilt-receipt", url);
// The result is a long-running operation (poller), which must itself be polled until the operation completes
const {
pages, // pages extracted from the document, which contain lines and words
tables, // extracted tables, organized into cells that contain their contents
styles, // text styles (ex. handwriting) that were observed in the document
keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)
documents // extracted documents (instances of one of the model's document types and its field schema)
} = await poller.pollUntilDone();
// Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model
const [{ fields: receipt }] = documents;
// The fields correspond to the model's document types and their field schemas. Refer to the Form Recognizer
// documentation for information about the document types and field schemas within a model, or use the `getModel`
// operation to view this information programmatically.
console.log("The type of this receipt is:", receipt?.["ReceiptType"]?.value);
function beginAnalyzeDocumentFromUrl(modelId: string, documentUrl: string, options?: AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
Parâmetros
- modelId
-
string
a ID exclusiva (nome) do modelo dentro do recurso desse cliente
- documentUrl
-
string
uma URL (cadeia de caracteres) para um documento de entrada acessível pela Internet pública
configurações opcionais para a operação de análise e o sondador
Retornos
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
uma operação de longa execução (sondador) que eventualmente produzirá um AnalyzeResult
beginAnalyzeDocumentFromUrl<Result>(DocumentModel<Result>, string, AnalyzeDocumentOptions<Result>)
Extraia dados de uma entrada usando um modelo que tem um esquema de documento conhecido e fortemente tipado (um DocumentModel).
Os campos produzidos no AnalyzeResult
dependem do modelo usado para análise. No TypeScript, o tipo do resultado para essa sobrecarga de método é inferido do tipo de entrada DocumentModel
.
Exemplos
Esse método dá suporte à extração de dados de um arquivo em uma determinada URL. O serviço Reconhecimento de Formulários tentará baixar um arquivo usando a URL enviada, portanto, a URL deve estar acessível pela Internet pública. Por exemplo, um token SAS pode ser usado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço usará a URL codificada em SAS para solicitar o arquivo.
// See the `prebuilt` folder in the SDK samples (http://aka.ms/azsdk/formrecognizer/js/samples) for examples of
// DocumentModels for known prebuilts.
import { PrebuiltReceiptModel } from "./prebuilt-receipt.ts";
// the URL must be publicly accessible
const url = "<receipt document url>";
// The model that is passed to the following function call determines the type of the eventual result. In the
// example, we will use the prebuilt receipt model.
const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, url);
// The result is a long-running operation (poller), which must itself be polled until the operation completes
const {
pages, // pages extracted from the document, which contain lines and words
tables, // extracted tables, organized into cells that contain their contents
styles, // text styles (ex. handwriting) that were observed in the document
keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)
documents // extracted documents (instances of one of the model's document types and its field schema)
} = await poller.pollUntilDone();
// Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model
const [{ fields: receipt }] = documents;
// Since we used the strongly-typed PrebuiltReceiptModel object instead of the "prebuilt-receipt" model ID
// string, the fields of the receipt are strongly-typed and have camelCase names (as opposed to PascalCase).
console.log("The type of this receipt is:", receipt.receiptType?.value);
function beginAnalyzeDocumentFromUrl<Result>(model: DocumentModel<Result>, documentUrl: string, options?: AnalyzeDocumentOptions<Result>): Promise<AnalysisPoller<Result>>
Parâmetros
- model
-
DocumentModel<Result>
um DocumentModel que representa o modelo a ser usado para análise e o tipo de saída esperado
- documentUrl
-
string
uma URL (cadeia de caracteres) para um documento de entrada acessível pela Internet pública
- options
-
AnalyzeDocumentOptions<Result>
configurações opcionais para a operação de análise e o sondador
Retornos
Promise<AnalysisPoller<Result>>
uma operação de longa execução (sondador) que eventualmente produzirá um AnalyzeResult
beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)
Classifique um documento usando um classificador personalizado dado por sua ID.
Esse método produz uma operação de execução longa (poller) que eventualmente produzirá um AnalyzeResult
. Esse é o mesmo tipo beginAnalyzeDocument
que e beginAnalyzeDocumentFromUrl
, mas o resultado conterá apenas um pequeno subconjunto de seus campos. Somente o campo e pages
o documents
campo serão preenchidos e apenas as informações mínimas da página serão retornadas. O documents
campo conterá informações sobre todos os documentos identificados e como os docType
quais eles foram classificados.
Exemplo
Esse método dá suporte a corpos de solicitação que podem ser transmitidos (FormRecognizerRequestBody), como Node.JS ReadableStream
objetos, s e ArrayBuffer
s do navegadorBlob
. O conteúdo do corpo será carregado no serviço para análise.
import * as fs from "fs";
const file = fs.createReadStream("path/to/file.pdf");
const poller = await client.beginClassifyDocument("<classifier ID>", file);
// The result is a long-running operation (poller), which must itself be polled until the operation completes
const {
pages, // pages extracted from the document, which contain only basic information for classifiers
documents // extracted documents and their types
} = await poller.pollUntilDone();
// We'll print the documents and their types
for (const { docType } of documents) {
console.log("The type of this document is:", docType);
}
function beginClassifyDocument(classifierId: string, document: FormRecognizerRequestBody, options?: ClassifyDocumentOptions): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
Parâmetros
- classifierId
-
string
a ID do classificador personalizado a ser usado para análise
- document
- FormRecognizerRequestBody
o documento a ser classificado
- options
- ClassifyDocumentOptions
opções para a operação de classificação
Retornos
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
uma operação de longa execução (sondador) que eventualmente produzirá um AnalyzeResult
beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)
Classifique um documento de uma URL usando um classificador personalizado dado por sua ID.
Esse método produz uma operação de execução longa (poller) que eventualmente produzirá um AnalyzeResult
. Esse é o mesmo tipo beginAnalyzeDocument
que e beginAnalyzeDocumentFromUrl
, mas o resultado conterá apenas um pequeno subconjunto de seus campos. Somente o campo e pages
o documents
campo serão preenchidos e apenas as informações mínimas da página serão retornadas. O documents
campo conterá informações sobre todos os documentos identificados e como os docType
quais eles foram classificados.
Exemplo
Esse método dá suporte à extração de dados de um arquivo em uma determinada URL. O serviço Reconhecimento de Formulários tentará baixar um arquivo usando a URL enviada, portanto, a URL deve estar acessível pela Internet pública. Por exemplo, um token SAS pode ser usado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço usará a URL codificada em SAS para solicitar o arquivo.
// the URL must be publicly accessible
const url = "<file url>";
const poller = await client.beginClassifyDocument("<classifier ID>", url);
// The result is a long-running operation (poller), which must itself be polled until the operation completes
const {
pages, // pages extracted from the document, which contain only basic information for classifiers
documents // extracted documents and their types
} = await poller.pollUntilDone();
// We'll print the documents and their types
for (const { docType } of documents) {
console.log("The type of this document is:", docType);
}
function beginClassifyDocumentFromUrl(classifierId: string, documentUrl: string, options?: ClassifyDocumentOptions): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
Parâmetros
- classifierId
-
string
a ID do classificador personalizado a ser usado para análise
- documentUrl
-
string
a URL do documento a ser classificado
- options
- ClassifyDocumentOptions
Retornos
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>