Partager via


DocumentAnalysisClient class

Client pour interagir avec les fonctionnalités d’analyse du service Form Recognizer.

Exemples :

Le service Form Recognizer et les clients prennent en charge deux moyens d’authentification :

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

Clé API (clé d’abonnement)

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

Constructeurs

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

Créer un DocumentAnalysisClient instance à partir d’un point de terminaison de ressource et d’une clé API statique (KeyCredential),

Exemple :

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)

Créez un DocumentAnalysisClient instance à partir d’un point de terminaison de ressource et d’une identité TokenCredentialAzure.

Pour plus d’informations sur l’authentification auprès d’Azure Active Directory, consultez le @azure/identity package.

Exemple :

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éthodes

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

Extrayez des données d’une entrée à l’aide d’un modèle donné par son ID unique.

Cette opération prend en charge les modèles personnalisés et prédéfinis. Par exemple, pour utiliser le modèle de facture prédéfini, fournissez l’ID de modèle « prebuilt-invoice » ou, pour utiliser le modèle de disposition prédéfini plus simple, fournissez l’ID de modèle « prédéfini-layout ».

Les champs produits dans dépendent AnalyzeResult du modèle utilisé pour l’analyse, et les valeurs des champs des documents extraits dépendent des types de documents dans le modèle (le cas échéant) et de leurs schémas de champ correspondants.

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS ReadableStream , les navigateurs Blobet ArrayBufferles s. Le contenu du corps sera chargé sur le service à des fins d’analyse.

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

Extrayez des données d’une entrée à l’aide d’un modèle qui a un schéma de document connu et fortement typé ( documentModel).

Les champs produits dans dépendent du modèle utilisé pour l’analyse AnalyzeResult . Dans TypeScript, le type du résultat de cette surcharge de méthode est déduit du type de l’entrée DocumentModel.

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS ReadableStream , les navigateurs Blobet ArrayBufferles s. Le contenu du corps sera chargé sur le service à des fins d’analyse.

Si l’entrée fournie est une chaîne, elle est traitée comme une URL vers l’emplacement d’un document à analyser. Pour plus d’informations, consultez la méthode beginAnalyzeDocumentFromUrl . L’utilisation de cette méthode est recommandée lors de l’utilisation d’URL, et la prise en charge des URL est fournie uniquement dans cette méthode à des fins de compatibilité descendante.

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

Extrayez des données d’une entrée à l’aide d’un modèle donné par son ID unique.

Cette opération prend en charge les modèles personnalisés et prédéfinis. Par exemple, pour utiliser le modèle de facture prédéfini, fournissez l’ID de modèle « prebuilt-invoice » ou, pour utiliser le modèle de disposition prédéfini plus simple, fournissez l’ID de modèle « prédéfini-layout ».

Les champs produits dans dépendent AnalyzeResult du modèle utilisé pour l’analyse, et les valeurs des champs des documents extraits dépendent des types de documents dans le modèle (le cas échéant) et de leurs schémas de champ correspondants.

Exemples

Cette méthode prend en charge l’extraction de données à partir d’un fichier à une URL donnée. Le service Form Recognizer tente de télécharger un fichier à l’aide de l’URL envoyée, de sorte que l’URL doit être accessible à partir de l’Internet public. Par exemple, un jeton SAS peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL encodée SAS pour demander le fichier.

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

Extrayez des données d’une entrée à l’aide d’un modèle qui a un schéma de document connu et fortement typé ( documentModel).

Les champs produits dans dépendent du modèle utilisé pour l’analyse AnalyzeResult . Dans TypeScript, le type du résultat de cette surcharge de méthode est déduit du type de l’entrée DocumentModel.

Exemples

Cette méthode prend en charge l’extraction de données à partir d’un fichier à une URL donnée. Le service Form Recognizer tente de télécharger un fichier à l’aide de l’URL envoyée, de sorte que l’URL doit être accessible à partir de l’Internet public. Par exemple, un jeton SAS peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL encodée SAS pour demander le fichier.

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

Classifier un document à l’aide d’un classifieur personnalisé fourni par son ID.

Cette méthode produit une opération de longue durée (polleur) qui finira par produire un AnalyzeResult. Il s’agit du même type que beginAnalyzeDocument et beginAnalyzeDocumentFromUrl, mais le résultat ne contiendra qu’un petit sous-ensemble de ses champs. Seuls le champ et pages le documents champ sont renseignés, et seules les informations de page minimales sont retournées. Le documents champ contient des informations sur tous les documents identifiés et sur ceux docType qui ont été classés.

Exemple

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS ReadableStream , les navigateurs Blobet ArrayBufferles s. Le contenu du corps sera chargé sur le service à des fins d’analyse.

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)

Classifiez un document à partir d’une URL à l’aide d’un classifieur personnalisé fourni par son ID.

Cette méthode produit une opération de longue durée (polleur) qui finira par produire un AnalyzeResult. Il s’agit du même type que beginAnalyzeDocument et beginAnalyzeDocumentFromUrl, mais le résultat ne contiendra qu’un petit sous-ensemble de ses champs. Seuls le champ et pages le documents champ sont renseignés, et seules les informations de page minimales sont retournées. Le documents champ contient des informations sur tous les documents identifiés et sur ceux docType qui ont été classés.

Exemple

Cette méthode prend en charge l’extraction de données à partir d’un fichier à une URL donnée. Le service Form Recognizer tente de télécharger un fichier à l’aide de l’URL envoyée, de sorte que l’URL doit être accessible à partir de l’Internet public. Par exemple, un jeton SAS peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL encodée SAS pour demander le fichier.

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

Détails du constructeur

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

Créer un DocumentAnalysisClient instance à partir d’un point de terminaison de ressource et d’une clé API statique (KeyCredential),

Exemple :

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)

Paramètres

endpoint

string

URL de point de terminaison d’un instance Azure Cognitive Services

credential
KeyCredential

KeyCredential contenant la clé d’abonnement instance Cognitive Services

options
DocumentAnalysisClientOptions

paramètres facultatifs pour la configuration de toutes les méthodes dans le client

DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

Créez un DocumentAnalysisClient instance à partir d’un point de terminaison de ressource et d’une identité TokenCredentialAzure.

Pour plus d’informations sur l’authentification auprès d’Azure Active Directory, consultez le @azure/identity package.

Exemple :

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)

Paramètres

endpoint

string

URL de point de terminaison d’un instance Azure Cognitive Services

credential
TokenCredential

un instance TokenCredential à partir du @azure/identity package

options
DocumentAnalysisClientOptions

paramètres facultatifs pour la configuration de toutes les méthodes dans le client

Détails de la méthode

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

Extrayez des données d’une entrée à l’aide d’un modèle donné par son ID unique.

Cette opération prend en charge les modèles personnalisés et prédéfinis. Par exemple, pour utiliser le modèle de facture prédéfini, fournissez l’ID de modèle « prebuilt-invoice » ou, pour utiliser le modèle de disposition prédéfini plus simple, fournissez l’ID de modèle « prédéfini-layout ».

Les champs produits dans dépendent AnalyzeResult du modèle utilisé pour l’analyse, et les valeurs des champs des documents extraits dépendent des types de documents dans le modèle (le cas échéant) et de leurs schémas de champ correspondants.

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS ReadableStream , les navigateurs Blobet ArrayBufferles s. Le contenu du corps sera chargé sur le service à des fins d’analyse.

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

Paramètres

modelId

string

l’ID unique (nom) du modèle dans la ressource de ce client

document
FormRecognizerRequestBody

FormRecognizerRequestBody qui sera chargé avec la demande

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

paramètres facultatifs pour l’opération d’analyse et l’polleur

Retours

une opération de longue durée (pollueur) qui finira par produire un AnalyzeResult

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

Extrayez des données d’une entrée à l’aide d’un modèle qui a un schéma de document connu et fortement typé ( documentModel).

Les champs produits dans dépendent du modèle utilisé pour l’analyse AnalyzeResult . Dans TypeScript, le type du résultat de cette surcharge de méthode est déduit du type de l’entrée DocumentModel.

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS ReadableStream , les navigateurs Blobet ArrayBufferles s. Le contenu du corps sera chargé sur le service à des fins d’analyse.

Si l’entrée fournie est une chaîne, elle est traitée comme une URL vers l’emplacement d’un document à analyser. Pour plus d’informations, consultez la méthode beginAnalyzeDocumentFromUrl . L’utilisation de cette méthode est recommandée lors de l’utilisation d’URL, et la prise en charge des URL est fournie uniquement dans cette méthode à des fins de compatibilité descendante.

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

Paramètres

model

DocumentModel<Result>

DocumentModel représentant le modèle à utiliser pour l’analyse et le type de sortie attendu

document
FormRecognizerRequestBody

FormRecognizerRequestBody qui sera chargé avec la demande

options

AnalyzeDocumentOptions<Result>

paramètres facultatifs pour l’opération d’analyse et l’polleur

Retours

Promise<AnalysisPoller<Result>>

une opération de longue durée (pollueur) qui finira par produire un AnalyzeResult avec des documents dont le type de résultat est associé au modèle d’entrée

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

Extrayez des données d’une entrée à l’aide d’un modèle donné par son ID unique.

Cette opération prend en charge les modèles personnalisés et prédéfinis. Par exemple, pour utiliser le modèle de facture prédéfini, fournissez l’ID de modèle « prebuilt-invoice » ou, pour utiliser le modèle de disposition prédéfini plus simple, fournissez l’ID de modèle « prédéfini-layout ».

Les champs produits dans dépendent AnalyzeResult du modèle utilisé pour l’analyse, et les valeurs des champs des documents extraits dépendent des types de documents dans le modèle (le cas échéant) et de leurs schémas de champ correspondants.

Exemples

Cette méthode prend en charge l’extraction de données à partir d’un fichier à une URL donnée. Le service Form Recognizer tente de télécharger un fichier à l’aide de l’URL envoyée, de sorte que l’URL doit être accessible à partir de l’Internet public. Par exemple, un jeton SAS peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL encodée SAS pour demander le fichier.

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

Paramètres

modelId

string

l’ID unique (nom) du modèle dans la ressource de ce client

documentUrl

string

UNE URL (chaîne) vers un document d’entrée accessible à partir de l’Internet public

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

paramètres facultatifs pour l’opération d’analyse et l’polleur

Retours

une opération de longue durée (pollueur) qui finira par produire un AnalyzeResult

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

Extrayez des données d’une entrée à l’aide d’un modèle qui a un schéma de document connu et fortement typé ( documentModel).

Les champs produits dans dépendent du modèle utilisé pour l’analyse AnalyzeResult . Dans TypeScript, le type du résultat de cette surcharge de méthode est déduit du type de l’entrée DocumentModel.

Exemples

Cette méthode prend en charge l’extraction de données à partir d’un fichier à une URL donnée. Le service Form Recognizer tente de télécharger un fichier à l’aide de l’URL envoyée, de sorte que l’URL doit être accessible à partir de l’Internet public. Par exemple, un jeton SAS peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL encodée SAS pour demander le fichier.

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

Paramètres

model

DocumentModel<Result>

DocumentModel représentant le modèle à utiliser pour l’analyse et le type de sortie attendu

documentUrl

string

UNE URL (chaîne) vers un document d’entrée accessible à partir de l’Internet public

options

AnalyzeDocumentOptions<Result>

paramètres facultatifs pour l’opération d’analyse et l’polleur

Retours

Promise<AnalysisPoller<Result>>

une opération de longue durée (pollueur) qui finira par produire un AnalyzeResult

beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)

Classifier un document à l’aide d’un classifieur personnalisé fourni par son ID.

Cette méthode produit une opération de longue durée (polleur) qui finira par produire un AnalyzeResult. Il s’agit du même type que beginAnalyzeDocument et beginAnalyzeDocumentFromUrl, mais le résultat ne contiendra qu’un petit sous-ensemble de ses champs. Seuls le champ et pages le documents champ sont renseignés, et seules les informations de page minimales sont retournées. Le documents champ contient des informations sur tous les documents identifiés et sur ceux docType qui ont été classés.

Exemple

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS ReadableStream , les navigateurs Blobet ArrayBufferles s. Le contenu du corps sera chargé sur le service à des fins d’analyse.

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

Paramètres

classifierId

string

ID du classifieur personnalisé à utiliser pour l’analyse

document
FormRecognizerRequestBody

document à classifier

options
ClassifyDocumentOptions

options pour l’opération de classification

Retours

une opération de longue durée (pollueur) qui finira par produire un AnalyzeResult

beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

Classifiez un document à partir d’une URL à l’aide d’un classifieur personnalisé fourni par son ID.

Cette méthode produit une opération de longue durée (polleur) qui finira par produire un AnalyzeResult. Il s’agit du même type que beginAnalyzeDocument et beginAnalyzeDocumentFromUrl, mais le résultat ne contiendra qu’un petit sous-ensemble de ses champs. Seuls le champ et pages le documents champ sont renseignés, et seules les informations de page minimales sont retournées. Le documents champ contient des informations sur tous les documents identifiés et sur ceux docType qui ont été classés.

Exemple

Cette méthode prend en charge l’extraction de données à partir d’un fichier à une URL donnée. Le service Form Recognizer tente de télécharger un fichier à l’aide de l’URL envoyée, de sorte que l’URL doit être accessible à partir de l’Internet public. Par exemple, un jeton SAS peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL encodée SAS pour demander le fichier.

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

Paramètres

classifierId

string

ID du classifieur personnalisé à utiliser pour l’analyse

documentUrl

string

URL du document à classifier

Retours