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
Document |
Créer un Exemple :
|
Document |
Créez un Pour plus d’informations sur l’authentification auprès d’Azure Active Directory, consultez le Exemple :
|
Méthodes
begin |
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 ExemplesCette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS
|
begin |
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 ExemplesCette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS 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.
|
begin |
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 ExemplesCette 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.
|
begin |
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 ExemplesCette 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.
|
begin |
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 ExempleCette méthode prend en charge les corps de requête streamables (FormRecognizerRequestBody), tels que les objets Node.JS
|
begin |
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 ExempleCette 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.
|
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é TokenCredential
Azure.
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 Blob
et ArrayBuffer
les 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
paramètres facultatifs pour l’opération d’analyse et l’polleur
Retours
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
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 Blob
et ArrayBuffer
les 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
paramètres facultatifs pour l’opération d’analyse et l’polleur
Retours
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
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 Blob
et ArrayBuffer
les 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
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
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
- options
- ClassifyDocumentOptions
Retours
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>