Partilhar via


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

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

Crie uma DocumentAnalysisClient instância a partir de um ponto final de recurso e de uma Identidade TokenCredentialdo 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);

Métodos

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

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

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

definições opcionais para a operação de análise e o poller

Devoluções

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

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

definições opcionais para a operação de análise e o poller

Devoluções

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

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

Devoluções