DocumentAnalysisClient class
Um cliente para interagir com as funcionalidades de análise do serviço Reconhecedor de Formulários.
Exemplos:
O serviço Reconhecedor de Formulários e os clientes suportam 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 Subscrição)
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 Veja o pacote para obter mais informações sobre a autenticação com o Exemplo:
|
Métodos
begin |
Extraia dados de uma entrada com um modelo fornecido pelo respetivo ID exclusivo. Esta operação suporta modelos personalizados e pré-criados. Por exemplo, para utilizar o modelo de fatura pré-criado, fornecer o ID de modelo "pré-criada-fatura" ou para utilizar o modelo de esquema pré-criado mais simples, forneça o ID do modelo "esquema pré-criado". Os campos produzidos no ExemplosEste método suporta corpos de pedidos em fluxo (FormRecognizerRequestBody), como Node.JS
|
begin |
Extraia dados de uma entrada com um modelo com um esquema de documento conhecido e fortemente escrito (um DocumentModel). Os campos produzidos no ExemplosEste método suporta corpos de pedidos em fluxo (FormRecognizerRequestBody), como Node.JS Se a entrada fornecida for uma cadeia, será tratada como um URL para a localização de um documento a analisar. Veja o método beginAnalyzeDocumentFromUrl para obter mais informações. A utilização desse método é preferencial ao utilizar URLs e o suporte de URL só é fornecido neste método para retrocompatibilidade.
|
begin |
Extraia dados de uma entrada com um modelo fornecido pelo respetivo ID exclusivo. Esta operação suporta modelos personalizados e pré-criados. Por exemplo, para utilizar o modelo de fatura pré-criado, fornecer o ID de modelo "pré-criada-fatura" ou para utilizar o modelo de esquema pré-criado mais simples, forneça o ID do modelo "esquema pré-criado". Os campos produzidos no ExemplosEste método suporta a extração de dados de um ficheiro num determinado URL. O serviço Reconhecedor de Formulários tentará transferir um ficheiro com o URL submetido, pelo que o URL tem de estar acessível a partir da Internet pública. Por exemplo, um token de SAS pode ser utilizado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço utilizará o URL codificado por SAS para pedir o ficheiro.
|
begin |
Extraia dados de uma entrada com um modelo com um esquema de documento conhecido e fortemente escrito (um DocumentModel). Os campos produzidos no ExemplosEste método suporta a extração de dados de um ficheiro num determinado URL. O serviço Reconhecedor de Formulários tentará transferir um ficheiro com o URL submetido, pelo que o URL tem de estar acessível a partir da Internet pública. Por exemplo, um token de SAS pode ser utilizado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço utilizará o URL codificado por SAS para pedir o ficheiro.
|
begin |
Classificar um documento com um classificador personalizado fornecido pelo respetivo ID. Este método produz uma operação de execução prolongada (poller) que irá eventualmente produzir um ExemploEste método suporta corpos de pedidos em fluxo (FormRecognizerRequestBody), como Node.JS
|
begin |
Classificar um documento a partir de um URL com um classificador personalizado fornecido pelo respetivo ID. Este método produz uma operação de execução prolongada (poller) que irá eventualmente produzir um ExemploEste método suporta a extração de dados de um ficheiro num determinado URL. O serviço Reconhecedor de Formulários tentará transferir um ficheiro com o URL submetido, pelo que o URL tem de estar acessível a partir da Internet pública. Por exemplo, um token de SAS pode ser utilizado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço utilizará o URL codificado por SAS para pedir o ficheiro.
|
Detalhes do Construtor
DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)
Criar uma DocumentAnalysisClient
instância a partir de um ponto final de recurso e de 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
o URL de ponto final de uma instância dos Serviços Cognitivos do Azure
- credential
- KeyCredential
um KeyCredential que contém a chave de subscrição da instância dos Serviços Cognitivos
- options
- DocumentAnalysisClientOptions
definições opcionais para configurar todos os métodos no cliente
DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)
Crie uma DocumentAnalysisClient
instância a partir de um ponto final de recurso e de uma Identidade TokenCredential
do Azure.
Veja o pacote para obter mais informações sobre a autenticação 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
o URL de ponto final de uma instância dos Serviços Cognitivos do Azure
- credential
- TokenCredential
uma instância TokenCredential do @azure/identity
pacote
- options
- DocumentAnalysisClientOptions
definições opcionais para configurar todos os métodos no cliente
Detalhes de Método
beginAnalyzeDocument(string, FormRecognizerRequestBody, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
Extraia dados de uma entrada com um modelo fornecido pelo respetivo ID exclusivo.
Esta operação suporta modelos personalizados e pré-criados. Por exemplo, para utilizar o modelo de fatura pré-criado, fornecer o ID de modelo "pré-criada-fatura" ou para utilizar o modelo de esquema pré-criado mais simples, forneça o ID do modelo "esquema pré-criado".
Os campos produzidos no AnalyzeResult
dependem do modelo utilizado para análise e os valores nos campos dos documentos extraídos dependem dos tipos de documentos no modelo (se existirem) e dos esquemas de campo correspondentes.
Exemplos
Este método suporta corpos de pedidos em fluxo (FormRecognizerRequestBody), como Node.JS ReadableStream
objetos, browsers Blob
e ArrayBuffer
s. O conteúdo do corpo será carregado para o 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
o ID exclusivo (nome) do modelo no recurso deste cliente
- document
- FormRecognizerRequestBody
um FormRecognizerRequestBody que será carregado com o pedido
definições opcionais para a operação de análise e o poller
Devoluções
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
uma operação de execução prolongada (poller) que irá eventualmente produzir um AnalyzeResult
beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)
Extraia dados de uma entrada com um modelo com um esquema de documento conhecido e fortemente escrito (um DocumentModel).
Os campos produzidos no AnalyzeResult
dependem do modelo utilizado para análise. Em TypeScript, o tipo de resultado para esta sobrecarga do método é inferido a partir do tipo de entrada DocumentModel
.
Exemplos
Este método suporta corpos de pedidos em fluxo (FormRecognizerRequestBody), como Node.JS ReadableStream
objetos, browsers Blob
e ArrayBuffer
s. O conteúdo do corpo será carregado para o serviço para análise.
Se a entrada fornecida for uma cadeia, será tratada como um URL para a localização de um documento a analisar. Veja o método beginAnalyzeDocumentFromUrl para obter mais informações. A utilização desse método é preferencial ao utilizar URLs e o suporte de URL só é fornecido neste método para retrocompatibilidade.
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 utilizar para análise e o tipo de saída esperado
- document
- FormRecognizerRequestBody
um FormRecognizerRequestBody que será carregado com o pedido
- options
-
AnalyzeDocumentOptions<Result>
definições opcionais para a operação de análise e o poller
Devoluções
Promise<AnalysisPoller<Result>>
uma operação de execução prolongada (poller) que irá 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 com um modelo fornecido pelo respetivo ID exclusivo.
Esta operação suporta modelos personalizados e pré-criados. Por exemplo, para utilizar o modelo de fatura pré-criado, fornecer o ID de modelo "pré-criada-fatura" ou para utilizar o modelo de esquema pré-criado mais simples, forneça o ID do modelo "esquema pré-criado".
Os campos produzidos no AnalyzeResult
dependem do modelo utilizado para análise e os valores nos campos dos documentos extraídos dependem dos tipos de documentos no modelo (se existirem) e dos esquemas de campo correspondentes.
Exemplos
Este método suporta a extração de dados de um ficheiro num determinado URL. O serviço Reconhecedor de Formulários tentará transferir um ficheiro com o URL submetido, pelo que o URL tem de estar acessível a partir da Internet pública. Por exemplo, um token de SAS pode ser utilizado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço utilizará o URL codificado por SAS para pedir o ficheiro.
// 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
o ID exclusivo (nome) do modelo no recurso deste cliente
- documentUrl
-
string
um URL (cadeia) para um documento de entrada acessível a partir da Internet pública
definições opcionais para a operação de análise e o poller
Devoluções
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
uma operação de execução prolongada (poller) que irá eventualmente produzir um AnalyzeResult
beginAnalyzeDocumentFromUrl<Result>(DocumentModel<Result>, string, AnalyzeDocumentOptions<Result>)
Extraia dados de uma entrada com um modelo com um esquema de documento conhecido e fortemente escrito (um DocumentModel).
Os campos produzidos no AnalyzeResult
dependem do modelo utilizado para análise. Em TypeScript, o tipo de resultado para esta sobrecarga do método é inferido a partir do tipo de entrada DocumentModel
.
Exemplos
Este método suporta a extração de dados de um ficheiro num determinado URL. O serviço Reconhecedor de Formulários tentará transferir um ficheiro com o URL submetido, pelo que o URL tem de estar acessível a partir da Internet pública. Por exemplo, um token de SAS pode ser utilizado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço utilizará o URL codificado por SAS para pedir o ficheiro.
// 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 utilizar para análise e o tipo de saída esperado
- documentUrl
-
string
um URL (cadeia) para um documento de entrada acessível a partir da Internet pública
- options
-
AnalyzeDocumentOptions<Result>
definições opcionais para a operação de análise e o poller
Devoluções
Promise<AnalysisPoller<Result>>
uma operação de execução prolongada (poller) que irá eventualmente produzir um AnalyzeResult
beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)
Classificar um documento com um classificador personalizado fornecido pelo respetivo ID.
Este método produz uma operação de execução prolongada (poller) que irá eventualmente produzir um AnalyzeResult
. Este é o mesmo tipo que beginAnalyzeDocument
e beginAnalyzeDocumentFromUrl
, mas o resultado conterá apenas um pequeno subconjunto dos respetivos campos. Apenas o campo e pages
o documents
campo serão preenchidos e apenas serão devolvidas informações mínimas da página. O documents
campo irá conter informações sobre todos os documentos identificados e sobre os docType
quais foram classificados como.
Exemplo
Este método suporta corpos de pedidos em fluxo (FormRecognizerRequestBody), como Node.JS ReadableStream
objetos, browsers Blob
e ArrayBuffer
s. O conteúdo do corpo será carregado para o 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
o ID do classificador personalizado a utilizar para análise
- document
- FormRecognizerRequestBody
o documento a classificar
- options
- ClassifyDocumentOptions
opções para a operação de classificação
Devoluções
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
uma operação de execução prolongada (poller) que irá eventualmente produzir um AnalyzeResult
beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)
Classificar um documento a partir de um URL com um classificador personalizado fornecido pelo respetivo ID.
Este método produz uma operação de execução prolongada (poller) que irá eventualmente produzir um AnalyzeResult
. Este é o mesmo tipo que beginAnalyzeDocument
e beginAnalyzeDocumentFromUrl
, mas o resultado conterá apenas um pequeno subconjunto dos respetivos campos. Apenas o campo e pages
o documents
campo serão preenchidos e apenas serão devolvidas informações mínimas da página. O documents
campo irá conter informações sobre todos os documentos identificados e sobre os docType
quais foram classificados como.
Exemplo
Este método suporta a extração de dados de um ficheiro num determinado URL. O serviço Reconhecedor de Formulários tentará transferir um ficheiro com o URL submetido, pelo que o URL tem de estar acessível a partir da Internet pública. Por exemplo, um token de SAS pode ser utilizado para conceder acesso de leitura a um blob no Armazenamento do Azure e o serviço utilizará o URL codificado por SAS para pedir o ficheiro.
// 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
o ID do classificador personalizado a utilizar para análise
- documentUrl
-
string
o URL do documento a classificar
- options
- ClassifyDocumentOptions
Devoluções
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>