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
Document |
Creación de una Ejemplo:
|
Document |
Cree una Consulte el Ejemplo:
|
Métodos
begin |
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 EjemplosEste método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JS
|
begin |
Extraiga datos de una entrada mediante un modelo que tenga un esquema de documento fuertemente tipado conocido (un DocumentModel). Los campos producidos en EjemplosEste método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JS 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.
|
begin |
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 EjemplosEste 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.
|
begin |
Extraiga datos de una entrada mediante un modelo que tenga un esquema de documento fuertemente tipado conocido (un DocumentModel). Los campos producidos en EjemplosEste 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.
|
begin |
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 EjemploEste método admite cuerpos de solicitud que se pueden transmitir (FormRecognizerRequestBody), como objetos Node.JS
|
begin |
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 EjemploEste 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.
|
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 TokenCredential
Azure.
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 ArrayBuffer
s 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.
configuración opcional para la operación de análisis y el sondeo
Devoluciones
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
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 ArrayBuffer
s 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
configuración opcional para la operación de análisis y el sondeo
Devoluciones
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
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 ArrayBuffer
s 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
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
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
- options
- ClassifyDocumentOptions
Devoluciones
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>