Compartir a través de


DocumentAnalysisClient class

Un cliente para interactuar con las características de análisis del servicio Form Recognizer.

Ejemplos:

El servicio Form Recognizer y los clientes admiten dos medios de autenticación:

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

Clave de API (clave de suscripción)

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

Constructores

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

Creación de una DocumentAnalysisClient instancia a partir de un punto de conexión de recurso y una clave de API estática (KeyCredential),

Ejemplo:

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)

Cree una DocumentAnalysisClient instancia a partir de un punto de conexión de recurso y una identidad de TokenCredentialAzure.

Consulte el @azure/identity paquete para más información sobre la autenticación con Azure Active Directory.

Ejemplo:

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

Extraiga datos de una entrada mediante un modelo dado por su identificador único.

Esta operación admite modelos personalizados y precompilados. Por ejemplo, para usar el modelo de factura precompilado, proporcione el identificador de modelo "factura precompilada" o para usar el modelo de diseño precompilado más sencillo, proporcione el identificador de modelo "diseño precompilado".

Los campos generados en AnalyzeResult dependen del modelo que se usa para el análisis y los valores de los campos de los documentos extraídos dependen de los tipos de documento del modelo (si los hubiera) y sus esquemas de campo correspondientes.

Ejemplos

Este método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JSReadableStream, s y ArrayBuffers del exploradorBlob. El contenido del cuerpo se cargará en el servicio para su análisis.

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

Extraiga datos de una entrada mediante un modelo que tenga un esquema de documento fuertemente tipado conocido (un DocumentModel).

Los campos producidos en AnalyzeResult dependen del modelo que se usa para el análisis. En TypeScript, el tipo del resultado de esta sobrecarga de método se deduce del tipo de entrada DocumentModel.

Ejemplos

Este método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JSReadableStream, s y ArrayBuffers del exploradorBlob. El contenido del cuerpo se cargará en el servicio para su análisis.

Si la entrada proporcionada es una cadena, se tratará como una dirección URL a la ubicación de un documento que se va a analizar. Consulte el método beginAnalyzeDocumentFromUrl para obtener más información. El uso de ese método se prefiere cuando se usan direcciones URL y la compatibilidad con direcciones URL solo se proporciona en este método para la compatibilidad con versiones 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>>)

Extraiga datos de una entrada mediante un modelo dado por su identificador único.

Esta operación admite modelos personalizados y precompilados. Por ejemplo, para usar el modelo de factura precompilado, proporcione el identificador de modelo "factura precompilada" o para usar el modelo de diseño precompilado más sencillo, proporcione el identificador de modelo "diseño precompilado".

Los campos generados en AnalyzeResult dependen del modelo que se usa para el análisis y los valores de los campos de los documentos extraídos dependen de los tipos de documento del modelo (si los hubiera) y sus esquemas de campo correspondientes.

Ejemplos

Este método admite la extracción de datos de un archivo en una dirección URL determinada. El servicio Form Recognizer intentará descargar un archivo mediante la dirección URL enviada, por lo que la dirección URL debe ser accesible desde la red pública de Internet. Por ejemplo, se puede usar un token de SAS para conceder acceso de lectura a un blob en Azure Storage y el servicio usará la dirección URL codificada con SAS para solicitar el archivo.

// 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>)

Extraiga datos de una entrada mediante un modelo que tenga un esquema de documento fuertemente tipado conocido (un DocumentModel).

Los campos producidos en AnalyzeResult dependen del modelo que se usa para el análisis. En TypeScript, el tipo del resultado de esta sobrecarga de método se deduce del tipo de entrada DocumentModel.

Ejemplos

Este método admite la extracción de datos de un archivo en una dirección URL determinada. El servicio Form Recognizer intentará descargar un archivo mediante la dirección URL enviada, por lo que la dirección URL debe ser accesible desde la red pública de Internet. Por ejemplo, se puede usar un token de SAS para conceder acceso de lectura a un blob en Azure Storage y el servicio usará la dirección URL codificada con SAS para solicitar el archivo.

// 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)

Clasifique un documento mediante un clasificador personalizado proporcionado por su identificador.

Este método genera una operación de larga duración (sondeo) que finalmente generará un AnalyzeResult. Este es el mismo tipo que beginAnalyzeDocument y beginAnalyzeDocumentFromUrl, pero el resultado solo contendrá un pequeño subconjunto de sus campos. Solo se rellenará el campo y pages el documents campo y solo se devolverá información mínima de página. El documents campo contendrá información sobre todos los documentos identificados y los docType que se clasificaron como.

Ejemplo

Este método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JSReadableStream, s y ArrayBuffers del exploradorBlob. El contenido del cuerpo se cargará en el servicio para su análisis.

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)

Clasifique un documento de una dirección URL mediante un clasificador personalizado proporcionado por su identificador.

Este método genera una operación de larga duración (sondeo) que finalmente generará un AnalyzeResult. Este es el mismo tipo que beginAnalyzeDocument y beginAnalyzeDocumentFromUrl, pero el resultado solo contendrá un pequeño subconjunto de sus campos. Solo se rellenará el campo y pages el documents campo y solo se devolverá información mínima de página. El documents campo contendrá información sobre todos los documentos identificados y los docType que se clasificaron como.

Ejemplo

Este método admite la extracción de datos de un archivo en una dirección URL determinada. El servicio Form Recognizer intentará descargar un archivo mediante la dirección URL enviada, por lo que la dirección URL debe ser accesible desde la red pública de Internet. Por ejemplo, se puede usar un token de SAS para conceder acceso de lectura a un blob en Azure Storage y el servicio usará la dirección URL codificada con SAS para solicitar el archivo.

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

Detalles del constructor

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

Creación de una DocumentAnalysisClient instancia a partir de un punto de conexión de recurso y una clave de API estática (KeyCredential),

Ejemplo:

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

la dirección URL del punto de conexión de una instancia de Azure Cognitive Services

credential
KeyCredential

KeyCredential que contiene la clave de suscripción de la instancia de Cognitive Services

options
DocumentAnalysisClientOptions

opciones opcionales para configurar todos los métodos en el cliente

DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

Cree una DocumentAnalysisClient instancia a partir de un punto de conexión de recurso y una identidad de TokenCredentialAzure.

Consulte el @azure/identity paquete para más información sobre la autenticación con Azure Active Directory.

Ejemplo:

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

la dirección URL del punto de conexión de una instancia de Azure Cognitive Services

credential
TokenCredential

una instancia de TokenCredential del @azure/identity paquete

options
DocumentAnalysisClientOptions

opciones opcionales para configurar todos los métodos en el cliente

Detalles del método

beginAnalyzeDocument(string, FormRecognizerRequestBody, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)

Extraiga datos de una entrada mediante un modelo dado por su identificador único.

Esta operación admite modelos personalizados y precompilados. Por ejemplo, para usar el modelo de factura precompilado, proporcione el identificador de modelo "factura precompilada" o para usar el modelo de diseño precompilado más sencillo, proporcione el identificador de modelo "diseño precompilado".

Los campos generados en AnalyzeResult dependen del modelo que se usa para el análisis y los valores de los campos de los documentos extraídos dependen de los tipos de documento del modelo (si los hubiera) y sus esquemas de campo correspondientes.

Ejemplos

Este método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JSReadableStream, s y ArrayBuffers del exploradorBlob. El contenido del cuerpo se cargará en el servicio para su análisis.

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

el identificador único (nombre) del modelo dentro del recurso de este cliente

document
FormRecognizerRequestBody

formRecognizerRequestBody que se cargará con la solicitud.

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

configuración opcional para la operación de análisis y el sondeo

Devoluciones

una operación de larga duración (poller) que finalmente generará un AnalyzeResult

beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)

Extraiga datos de una entrada mediante un modelo que tenga un esquema de documento fuertemente tipado conocido (un DocumentModel).

Los campos producidos en AnalyzeResult dependen del modelo que se usa para el análisis. En TypeScript, el tipo del resultado de esta sobrecarga de método se deduce del tipo de entrada DocumentModel.

Ejemplos

Este método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JSReadableStream, s y ArrayBuffers del exploradorBlob. El contenido del cuerpo se cargará en el servicio para su análisis.

Si la entrada proporcionada es una cadena, se tratará como una dirección URL a la ubicación de un documento que se va a analizar. Consulte el método beginAnalyzeDocumentFromUrl para obtener más información. El uso de ese método se prefiere cuando se usan direcciones URL y la compatibilidad con direcciones URL solo se proporciona en este método para la compatibilidad con versiones 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>

un DocumentModel que representa el modelo que se va a usar para el análisis y el tipo de salida esperado

document
FormRecognizerRequestBody

formRecognizerRequestBody que se cargará con la solicitud.

options

AnalyzeDocumentOptions<Result>

configuración opcional para la operación de análisis y el sondeo

Devoluciones

Promise<AnalysisPoller<Result>>

una operación de larga duración (poller) que finalmente generará un AnalyzeResult con documentos que tengan el tipo de resultado asociado al modelo de entrada.

beginAnalyzeDocumentFromUrl(string, string, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)

Extraiga datos de una entrada mediante un modelo dado por su identificador único.

Esta operación admite modelos personalizados y precompilados. Por ejemplo, para usar el modelo de factura precompilado, proporcione el identificador de modelo "factura precompilada" o para usar el modelo de diseño precompilado más sencillo, proporcione el identificador de modelo "diseño precompilado".

Los campos generados en AnalyzeResult dependen del modelo que se usa para el análisis y los valores de los campos de los documentos extraídos dependen de los tipos de documento del modelo (si los hubiera) y sus esquemas de campo correspondientes.

Ejemplos

Este método admite la extracción de datos de un archivo en una dirección URL determinada. El servicio Form Recognizer intentará descargar un archivo mediante la dirección URL enviada, por lo que la dirección URL debe ser accesible desde la red pública de Internet. Por ejemplo, se puede usar un token de SAS para conceder acceso de lectura a un blob en Azure Storage y el servicio usará la dirección URL codificada con SAS para solicitar el archivo.

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

el identificador único (nombre) del modelo dentro del recurso de este cliente

documentUrl

string

una dirección URL (cadena) a un documento de entrada accesible desde la red pública de Internet

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

configuración opcional para la operación de análisis y el sondeo

Devoluciones

una operación de larga duración (poller) que finalmente generará un AnalyzeResult

beginAnalyzeDocumentFromUrl<Result>(DocumentModel<Result>, string, AnalyzeDocumentOptions<Result>)

Extraiga datos de una entrada mediante un modelo que tenga un esquema de documento fuertemente tipado conocido (un DocumentModel).

Los campos producidos en AnalyzeResult dependen del modelo que se usa para el análisis. En TypeScript, el tipo del resultado de esta sobrecarga de método se deduce del tipo de entrada DocumentModel.

Ejemplos

Este método admite la extracción de datos de un archivo en una dirección URL determinada. El servicio Form Recognizer intentará descargar un archivo mediante la dirección URL enviada, por lo que la dirección URL debe ser accesible desde la red pública de Internet. Por ejemplo, se puede usar un token de SAS para conceder acceso de lectura a un blob en Azure Storage y el servicio usará la dirección URL codificada con SAS para solicitar el archivo.

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

un DocumentModel que representa el modelo que se va a usar para el análisis y el tipo de salida esperado

documentUrl

string

una dirección URL (cadena) a un documento de entrada accesible desde la red pública de Internet

options

AnalyzeDocumentOptions<Result>

configuración opcional para la operación de análisis y el sondeo

Devoluciones

Promise<AnalysisPoller<Result>>

una operación de larga duración (poller) que finalmente generará un AnalyzeResult

beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)

Clasifique un documento mediante un clasificador personalizado proporcionado por su identificador.

Este método genera una operación de larga duración (sondeo) que finalmente generará un AnalyzeResult. Este es el mismo tipo que beginAnalyzeDocument y beginAnalyzeDocumentFromUrl, pero el resultado solo contendrá un pequeño subconjunto de sus campos. Solo se rellenará el campo y pages el documents campo y solo se devolverá información mínima de página. El documents campo contendrá información sobre todos los documentos identificados y los docType que se clasificaron como.

Ejemplo

Este método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JSReadableStream, s y ArrayBuffers del exploradorBlob. El contenido del cuerpo se cargará en el servicio para su análisis.

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

el identificador del clasificador personalizado que se va a usar para el análisis.

document
FormRecognizerRequestBody

el documento que se va a clasificar

options
ClassifyDocumentOptions

opciones para la operación de clasificación

Devoluciones

una operación de larga duración (poller) que finalmente generará un AnalyzeResult

beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

Clasifique un documento de una dirección URL mediante un clasificador personalizado proporcionado por su identificador.

Este método genera una operación de larga duración (sondeo) que finalmente generará un AnalyzeResult. Este es el mismo tipo que beginAnalyzeDocument y beginAnalyzeDocumentFromUrl, pero el resultado solo contendrá un pequeño subconjunto de sus campos. Solo se rellenará el campo y pages el documents campo y solo se devolverá información mínima de página. El documents campo contendrá información sobre todos los documentos identificados y los docType que se clasificaron como.

Ejemplo

Este método admite la extracción de datos de un archivo en una dirección URL determinada. El servicio Form Recognizer intentará descargar un archivo mediante la dirección URL enviada, por lo que la dirección URL debe ser accesible desde la red pública de Internet. Por ejemplo, se puede usar un token de SAS para conceder acceso de lectura a un blob en Azure Storage y el servicio usará la dirección URL codificada con SAS para solicitar el archivo.

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

el identificador del clasificador personalizado que se va a usar para el análisis.

documentUrl

string

la dirección URL del documento que se va a clasificar

Devoluciones