Share via


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

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);
DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

Crie uma DocumentAnalysisClient instância de um ponto de extremidade de recurso e uma identidade TokenCredentialdo 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);

Métodos

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 ArrayBuffers 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);
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 ArrayBuffers 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);
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);
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);
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 ArrayBuffers 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);
}
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);
}

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 TokenCredentialdo 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 ArrayBuffers 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

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

configurações opcionais para a operação de análise e o sondador

Retornos

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

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

configurações opcionais para a operação de análise e o sondador

Retornos

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

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

Retornos