Partager via


DocumentAnalysisClient class

Un 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 une instance DocumentAnalysisClient à 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 une instance DocumentAnalysisClient à partir d’un point de terminaison de ressource et d’une TokenCredentiald’identité Azure.

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

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 « prédéfini-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 la AnalyzeResult dépendent 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 champs correspondants.

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody) tels que les objets Node.JS ReadableStream, les Blobde navigateur et les ArrayBuffer. Le contenu du corps sera chargé dans le service pour 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é (un DocumentModel).

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

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody) tels que les objets Node.JS ReadableStream, les Blobde navigateur et les ArrayBuffer. Le contenu du corps sera chargé dans le service pour analyse.

Si l’entrée fournie est une chaîne, elle sera 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 pour la 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 « prédéfini-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 la AnalyzeResult dépendent 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 champs 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. L’URL doit donc être accessible à partir de l’Internet public. Par exemple, un jeton SAP peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL codée par SAP 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é (un DocumentModel).

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

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. L’URL doit donc être accessible à partir de l’Internet public. Par exemple, un jeton SAP peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL codée par SAP 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)

Classifiez un document à l’aide d’un classifieur personnalisé donné par son ID.

Cette méthode produit une opération longue (polleur) qui produira finalement une 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. Seul le champ documents et le champ pages sont renseignés, et seules les informations de page minimales sont retournées. Le champ documents contient des informations sur tous les documents identifiés et les docType qu’ils ont été classés comme.

Exemple

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody) tels que les objets Node.JS ReadableStream, les Blobde navigateur et les ArrayBuffer. Le contenu du corps sera chargé dans le service pour 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é donné par son ID.

Cette méthode produit une opération longue (polleur) qui produira finalement une 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. Seul le champ documents et le champ pages sont renseignés, et seules les informations de page minimales sont retournées. Le champ documents contient des informations sur tous les documents identifiés et les docType qu’ils ont été classés comme.

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. L’URL doit donc être accessible à partir de l’Internet public. Par exemple, un jeton SAP peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL codée par SAP 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 une instance DocumentAnalysisClient à 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 du point de terminaison d’une instance Azure Cognitive Services

credential
KeyCredential

KeyCredential contenant la clé d’abonnement de l’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 une instance DocumentAnalysisClient à partir d’un point de terminaison de ressource et d’une TokenCredentiald’identité Azure.

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

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 du point de terminaison d’une instance Azure Cognitive Services

credential
TokenCredential

une instance TokenCredential à partir du package @azure/identity

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 « prédéfini-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 la AnalyzeResult dépendent 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 champs correspondants.

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody) tels que les objets Node.JS ReadableStream, les Blobde navigateur et les ArrayBuffer. Le contenu du corps sera chargé dans le service pour 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

un FormRecognizerRequestBody qui sera chargé avec la requête

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

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

Retours

une opération de longue durée (polleur) qui produira finalement 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é (un DocumentModel).

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

Exemples

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody) tels que les objets Node.JS ReadableStream, les Blobde navigateur et les ArrayBuffer. Le contenu du corps sera chargé dans le service pour analyse.

Si l’entrée fournie est une chaîne, elle sera 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 pour la 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>

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

document
FormRecognizerRequestBody

un FormRecognizerRequestBody qui sera chargé avec la requête

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 (polleur) qui produira finalement 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 « prédéfini-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 la AnalyzeResult dépendent 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 champs 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. L’URL doit donc être accessible à partir de l’Internet public. Par exemple, un jeton SAP peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL codée par SAP 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 (polleur) qui produira finalement 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é (un DocumentModel).

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

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. L’URL doit donc être accessible à partir de l’Internet public. Par exemple, un jeton SAP peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL codée par SAP 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>

un 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 (polleur) qui produira finalement un AnalyzeResult

beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)

Classifiez un document à l’aide d’un classifieur personnalisé donné par son ID.

Cette méthode produit une opération longue (polleur) qui produira finalement une 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. Seul le champ documents et le champ pages sont renseignés, et seules les informations de page minimales sont retournées. Le champ documents contient des informations sur tous les documents identifiés et les docType qu’ils ont été classés comme.

Exemple

Cette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody) tels que les objets Node.JS ReadableStream, les Blobde navigateur et les ArrayBuffer. Le contenu du corps sera chargé dans le service pour 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 à classer

options
ClassifyDocumentOptions

options pour l’opération de classification

Retours

une opération de longue durée (polleur) qui produira finalement un AnalyzeResult

beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

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

Cette méthode produit une opération longue (polleur) qui produira finalement une 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. Seul le champ documents et le champ pages sont renseignés, et seules les informations de page minimales sont retournées. Le champ documents contient des informations sur tous les documents identifiés et les docType qu’ils ont été classés comme.

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. L’URL doit donc être accessible à partir de l’Internet public. Par exemple, un jeton SAP peut être utilisé pour accorder l’accès en lecture à un objet blob dans stockage Azure, et le service utilise l’URL codée par SAP 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 à classer

Retours