Megosztás a következőn keresztül:


DocumentAnalysisClient class

Ügyfél a Form Recognizer szolgáltatás elemzési funkcióival való interakcióhoz.

Példák:

A Form Recognizer szolgáltatás és az ügyfelek két hitelesítési módot támogatnak:

Azure Active Directory

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

API-kulcs (előfizetési kulcs)

import { AzureKeyCredential, DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new AzureKeyCredential("<API key>");
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

Konstruktorok

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

DocumentAnalysisClient-példány létrehozása erőforrásvégpontból és statikus API-kulcsból (KeyCredential),

Példa:

import { AzureKeyCredential, DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new AzureKeyCredential("<API key>");
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);
DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

Hozzon létre egy DocumentAnalysisClient-példányt egy erőforrásvégpontból és egy Azure Identity-TokenCredential.

Az Azure Active Directoryval való hitelesítésről további információt a @azure/identity csomagban talál.

Példa:

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

Metódusok

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

Adatok kinyerése egy bemenetből az egyedi azonosítója által megadott modell használatával.

Ez a művelet támogatja az egyéni és az előre összeállított modelleket is. Ha például az előre összeállított számlamodellt szeretné használni, adja meg az "előre összeállított számla" modellazonosítót, vagy az egyszerűbb előre összeállított elrendezési modell használatához adja meg az "előre összeállított elrendezés" modellazonosítót.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek, és a kinyert dokumentumok mezőinek értékei a modell dokumentumtípusaitól (ha vannak) és a hozzájuk tartozó mezős sémáktól függenek.

Példák

Ez a módszer támogatja a streamelhető kérelemtörzseket (FormRecognizerRequestBody), például Node.JS ReadableStream objektumokat, böngésző Blobés ArrayBuffers. A rendszer a törzs tartalmát elemzés céljából feltölti a szolgáltatásba.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { createReadStream } from "node:fs";
import { PrebuiltReceiptModel } from "../samples-dev/prebuilt/prebuilt-receipt.js";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const path = "<path to a document>";
const readStream = createReadStream(path);

// The PrebuiltReceiptModel `DocumentModel` instance encodes both the model ID and a stronger return type for the operation
const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, readStream, {
  onProgress: ({ status }) => {
    console.log(`status: ${status}`);
  },
});

const {
  documents: [receiptDocument],
} = await poller.pollUntilDone();

// The fields of the document constitute the extracted receipt data.
const receipt = receiptDocument.fields;

if (receipt === undefined) {
  throw new Error("Expected at least one receipt in analysis result.");
}

console.log(`Receipt data (${receiptDocument.docType})`);
console.log("  Merchant Name:", receipt.merchantName?.value);

// The items of the receipt are an example of a `DocumentArrayValue`
if (receipt.items !== undefined) {
  console.log("Items:");
  for (const { properties: item } of receipt.items.values) {
    console.log("- Description:", item.description?.value);
    console.log("  Total Price:", item.totalPrice?.value);
  }
}

console.log("  Total:", receipt.total?.value);
beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)

Adatok kinyerése egy bemenetből egy ismert, erősen gépelt dokumentumsémával (DocumentModel) rendelkező modell használatával.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek. A TypeScriptben a metódus eredményének típusa túlterhelést von le a bemeneti DocumentModeltípusából.

Példák

Ez a módszer támogatja a streamelhető kérelemtörzseket (FormRecognizerRequestBody), például Node.JS ReadableStream objektumokat, böngésző Blobés ArrayBuffers. A rendszer a törzs tartalmát elemzés céljából feltölti a szolgáltatásba.

Ha a megadott bemenet egy sztring, a rendszer az elemezni kívánt dokumentum helyére mutató URL-címként kezeli. További információt a beginAnalyzeDocumentFromUrl metódusban talál. Az URL-címek használatakor előnyben részesíti a metódus használatát, és az URL-támogatás csak a visszamenőleges kompatibilitás érdekében érhető el ebben a metódusban.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { createReadStream } from "node:fs";
import { PrebuiltReceiptModel } from "../samples-dev/prebuilt/prebuilt-receipt.js";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const path = "<path to a document>";
const readStream = createReadStream(path);

// The PrebuiltReceiptModel `DocumentModel` instance encodes both the model ID and a stronger return type for the operation
const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, readStream, {
  onProgress: ({ status }) => {
    console.log(`status: ${status}`);
  },
});

const {
  documents: [receiptDocument],
} = await poller.pollUntilDone();

// The fields of the document constitute the extracted receipt data.
const receipt = receiptDocument.fields;

if (receipt === undefined) {
  throw new Error("Expected at least one receipt in analysis result.");
}

console.log(`Receipt data (${receiptDocument.docType})`);
console.log("  Merchant Name:", receipt.merchantName?.value);

// The items of the receipt are an example of a `DocumentArrayValue`
if (receipt.items !== undefined) {
  console.log("Items:");
  for (const { properties: item } of receipt.items.values) {
    console.log("- Description:", item.description?.value);
    console.log("  Total Price:", item.totalPrice?.value);
  }
}

console.log("  Total:", receipt.total?.value);
beginAnalyzeDocumentFromUrl(string, string, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)

Adatok kinyerése egy bemenetből az egyedi azonosítója által megadott modell használatával.

Ez a művelet támogatja az egyéni és az előre összeállított modelleket is. Ha például az előre összeállított számlamodellt szeretné használni, adja meg az "előre összeállított számla" modellazonosítót, vagy az egyszerűbb előre összeállított elrendezési modell használatához adja meg az "előre összeállított elrendezés" modellazonosítót.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek, és a kinyert dokumentumok mezőinek értékei a modell dokumentumtípusaitól (ha vannak) és a hozzájuk tartozó mezős sémáktól függenek.

Példák

Ez a módszer támogatja az adatok kinyerését egy adott URL-címen lévő fájlból. A Form Recognizer szolgáltatás megpróbál letölteni egy fájlt a beküldött URL-cím használatával, így az URL-címnek elérhetőnek kell lennie a nyilvános internetről. Például egy SAS-jogkivonattal olvasási hozzáférést biztosíthat egy blobhoz az Azure Storage-ban, és a szolgáltatás az SAS-kódolt URL-címmel kéri le a fájlt.

import { DefaultAzureCredential } from "@azure/identity";
import {
  DocumentAnalysisClient,
  DocumentStringField,
  DocumentArrayField,
  DocumentObjectField,
} from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const poller = await client.beginAnalyzeDocumentFromUrl(
  "prebuilt-receipt",
  // The Document Intelligence service will access the following URL to a receipt image and extract data from it
  "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/receipt/contoso-receipt.png",
);
poller.onProgress((state) => console.log("Operation:", state.modelId, state.status));

const { documents } = await poller.pollUntilDone();

const result = documents && documents[0];
if (result) {
  const receipt = result.fields;
  console.log("=== Receipt Information ===");
  console.log("Type:", result.docType);
  console.log("Merchant:", (receipt["MerchantName"] as DocumentStringField).value);

  console.log("Items:");
  for (const { properties: item } of ((receipt["Items"] as DocumentArrayField).values ||
    []) as DocumentObjectField[]) {
    console.log("- Description:", (item["Description"] as DocumentStringField).value);
    console.log("  Total Price:", (item["TotalPrice"] as DocumentStringField).value);
  }
} else {
  throw new Error("Expected at least one receipt in the result.");
}
beginAnalyzeDocumentFromUrl<Result>(DocumentModel<Result>, string, AnalyzeDocumentOptions<Result>)

Adatok kinyerése egy bemenetből egy ismert, erősen gépelt dokumentumsémával (DocumentModel) rendelkező modell használatával.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek. A TypeScriptben a metódus eredményének típusa túlterhelést von le a bemeneti DocumentModeltípusából.

Példák

Ez a módszer támogatja az adatok kinyerését egy adott URL-címen lévő fájlból. A Form Recognizer szolgáltatás megpróbál letölteni egy fájlt a beküldött URL-cím használatával, így az URL-címnek elérhetőnek kell lennie a nyilvános internetről. Például egy SAS-jogkivonattal olvasási hozzáférést biztosíthat egy blobhoz az Azure Storage-ban, és a szolgáltatás az SAS-kódolt URL-címmel kéri le a fájlt.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { PrebuiltReceiptModel } from "../samples-dev/prebuilt/prebuilt-receipt.js";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const poller = await client.beginAnalyzeDocumentFromUrl(
  PrebuiltReceiptModel,
  // The Document Intelligence service will access the following URL to a receipt image and extract data from it
  "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/receipt/contoso-receipt.png",
);

const {
  documents: [document],
} = await poller.pollUntilDone();

// Use of PrebuiltModels.Receipt above (rather than the raw model ID), as it adds strong typing of the model's output
if (document) {
  const { merchantName, items, total } = document.fields;

  console.log("=== Receipt Information ===");
  console.log("Type:", document.docType);
  console.log("Merchant:", merchantName && merchantName.value);

  console.log("Items:");
  for (const item of (items && items.values) || []) {
    const { description, totalPrice } = item.properties;

    console.log("- Description:", description && description.value);
    console.log("  Total Price:", totalPrice && totalPrice.value);
  }

  console.log("Total:", total && total.value);
} else {
  throw new Error("Expected at least one receipt in the result.");
}
beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)

Osztályozhatja a dokumentumokat az azonosítója által megadott egyéni osztályozó használatával.

Ez a metódus egy hosszú ideig futó műveletet (pollert) hoz létre, amely végül létrehoz egy AnalyzeResult. Ez ugyanaz a típus, mint beginAnalyzeDocument és beginAnalyzeDocumentFromUrl, de az eredmény csak a mezőinek egy kis részét tartalmazza. Csak a documents és a pages mező lesz kitöltve, és csak a minimális oldalinformációk lesznek visszaadva. A documents mező az összes azonosított dokumentumra és a besorolásuk docType vonatkozó információkat tartalmazza.

Példa

Ez a módszer támogatja a streamelhető kérelemtörzseket (FormRecognizerRequestBody), például Node.JS ReadableStream objektumokat, böngésző Blobés ArrayBuffers. A rendszer a törzs tartalmát elemzés céljából feltölti a szolgáltatásba.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { createReadStream } from "node:fs";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const path = "<path to a document>";
const readStream = createReadStream(path);

const poller = await client.beginClassifyDocument("<classifier id>", readStream);

const result = await poller.pollUntilDone();

if (result?.documents?.length === 0) {
  throw new Error("Failed to extract any documents.");
}

for (const document of result.documents) {
  console.log(
    `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,
  );
}
beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

Osztályozhatja a dokumentumokat egy URL-címről az azonosítója által megadott egyéni osztályozó használatával.

Ez a metódus egy hosszú ideig futó műveletet (pollert) hoz létre, amely végül létrehoz egy AnalyzeResult. Ez ugyanaz a típus, mint beginAnalyzeDocument és beginAnalyzeDocumentFromUrl, de az eredmény csak a mezőinek egy kis részét tartalmazza. Csak a documents és a pages mező lesz kitöltve, és csak a minimális oldalinformációk lesznek visszaadva. A documents mező az összes azonosított dokumentumra és a besorolásuk docType vonatkozó információkat tartalmazza.

Példa

Ez a módszer támogatja az adatok kinyerését egy adott URL-címen lévő fájlból. A Form Recognizer szolgáltatás megpróbál letölteni egy fájlt a beküldött URL-cím használatával, így az URL-címnek elérhetőnek kell lennie a nyilvános internetről. Például egy SAS-jogkivonattal olvasási hozzáférést biztosíthat egy blobhoz az Azure Storage-ban, és a szolgáltatás az SAS-kódolt URL-címmel kéri le a fájlt.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const documentUrl =
  "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/invoice/Invoice_1.pdf";

const poller = await client.beginClassifyDocumentFromUrl("<classifier id>", documentUrl);

const result = await poller.pollUntilDone();

if (result?.documents?.length === 0) {
  throw new Error("Failed to extract any documents.");
}

for (const document of result.documents) {
  console.log(
    `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,
  );
}

Konstruktor adatai

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

DocumentAnalysisClient-példány létrehozása erőforrásvégpontból és statikus API-kulcsból (KeyCredential),

Példa:

import { AzureKeyCredential, DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new AzureKeyCredential("<API key>");
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);
new DocumentAnalysisClient(endpoint: string, credential: KeyCredential, options?: DocumentAnalysisClientOptions)

Paraméterek

endpoint

string

egy Azure Cognitive Services-példány végponti URL-címe

credential
KeyCredential

a Cognitive Services-példány előfizetési kulcsát tartalmazó KeyCredential

options
DocumentAnalysisClientOptions

nem kötelező beállítások az ügyfél összes metódusának konfigurálásához

DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

Hozzon létre egy DocumentAnalysisClient-példányt egy erőforrásvégpontból és egy Azure Identity-TokenCredential.

Az Azure Active Directoryval való hitelesítésről további információt a @azure/identity csomagban talál.

Példa:

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);
new DocumentAnalysisClient(endpoint: string, credential: TokenCredential, options?: DocumentAnalysisClientOptions)

Paraméterek

endpoint

string

egy Azure Cognitive Services-példány végponti URL-címe

credential
TokenCredential

TokenCredential-példány a @azure/identity csomagból

options
DocumentAnalysisClientOptions

nem kötelező beállítások az ügyfél összes metódusának konfigurálásához

Metódus adatai

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

Adatok kinyerése egy bemenetből az egyedi azonosítója által megadott modell használatával.

Ez a művelet támogatja az egyéni és az előre összeállított modelleket is. Ha például az előre összeállított számlamodellt szeretné használni, adja meg az "előre összeállított számla" modellazonosítót, vagy az egyszerűbb előre összeállított elrendezési modell használatához adja meg az "előre összeállított elrendezés" modellazonosítót.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek, és a kinyert dokumentumok mezőinek értékei a modell dokumentumtípusaitól (ha vannak) és a hozzájuk tartozó mezős sémáktól függenek.

Példák

Ez a módszer támogatja a streamelhető kérelemtörzseket (FormRecognizerRequestBody), például Node.JS ReadableStream objektumokat, böngésző Blobés ArrayBuffers. A rendszer a törzs tartalmát elemzés céljából feltölti a szolgáltatásba.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { createReadStream } from "node:fs";
import { PrebuiltReceiptModel } from "../samples-dev/prebuilt/prebuilt-receipt.js";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const path = "<path to a document>";
const readStream = createReadStream(path);

// The PrebuiltReceiptModel `DocumentModel` instance encodes both the model ID and a stronger return type for the operation
const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, readStream, {
  onProgress: ({ status }) => {
    console.log(`status: ${status}`);
  },
});

const {
  documents: [receiptDocument],
} = await poller.pollUntilDone();

// The fields of the document constitute the extracted receipt data.
const receipt = receiptDocument.fields;

if (receipt === undefined) {
  throw new Error("Expected at least one receipt in analysis result.");
}

console.log(`Receipt data (${receiptDocument.docType})`);
console.log("  Merchant Name:", receipt.merchantName?.value);

// The items of the receipt are an example of a `DocumentArrayValue`
if (receipt.items !== undefined) {
  console.log("Items:");
  for (const { properties: item } of receipt.items.values) {
    console.log("- Description:", item.description?.value);
    console.log("  Total Price:", item.totalPrice?.value);
  }
}

console.log("  Total:", receipt.total?.value);
function beginAnalyzeDocument(modelId: string, document: FormRecognizerRequestBody, options?: AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>

Paraméterek

modelId

string

a modell egyedi azonosítója (neve) az ügyfél erőforrásán belül

document
FormRecognizerRequestBody

FormRecognizerRequestBody, amelyet a kérelemmel együtt töltünk fel

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

az elemzési művelet és a lekérdezés opcionális beállításai

Válaszok

egy hosszú ideig futó művelet (poller), amely végül létrehoz egy AnalyzeResult

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

Adatok kinyerése egy bemenetből egy ismert, erősen gépelt dokumentumsémával (DocumentModel) rendelkező modell használatával.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek. A TypeScriptben a metódus eredményének típusa túlterhelést von le a bemeneti DocumentModeltípusából.

Példák

Ez a módszer támogatja a streamelhető kérelemtörzseket (FormRecognizerRequestBody), például Node.JS ReadableStream objektumokat, böngésző Blobés ArrayBuffers. A rendszer a törzs tartalmát elemzés céljából feltölti a szolgáltatásba.

Ha a megadott bemenet egy sztring, a rendszer az elemezni kívánt dokumentum helyére mutató URL-címként kezeli. További információt a beginAnalyzeDocumentFromUrl metódusban talál. Az URL-címek használatakor előnyben részesíti a metódus használatát, és az URL-támogatás csak a visszamenőleges kompatibilitás érdekében érhető el ebben a metódusban.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { createReadStream } from "node:fs";
import { PrebuiltReceiptModel } from "../samples-dev/prebuilt/prebuilt-receipt.js";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const path = "<path to a document>";
const readStream = createReadStream(path);

// The PrebuiltReceiptModel `DocumentModel` instance encodes both the model ID and a stronger return type for the operation
const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, readStream, {
  onProgress: ({ status }) => {
    console.log(`status: ${status}`);
  },
});

const {
  documents: [receiptDocument],
} = await poller.pollUntilDone();

// The fields of the document constitute the extracted receipt data.
const receipt = receiptDocument.fields;

if (receipt === undefined) {
  throw new Error("Expected at least one receipt in analysis result.");
}

console.log(`Receipt data (${receiptDocument.docType})`);
console.log("  Merchant Name:", receipt.merchantName?.value);

// The items of the receipt are an example of a `DocumentArrayValue`
if (receipt.items !== undefined) {
  console.log("Items:");
  for (const { properties: item } of receipt.items.values) {
    console.log("- Description:", item.description?.value);
    console.log("  Total Price:", item.totalPrice?.value);
  }
}

console.log("  Total:", receipt.total?.value);
function beginAnalyzeDocument<Result>(model: DocumentModel<Result>, document: FormRecognizerRequestBody, options?: AnalyzeDocumentOptions<Result>): Promise<AnalysisPoller<Result>>

Paraméterek

model

DocumentModel<Result>

egy DocumentModel-, amely az elemzéshez használni kívánt modellt és a várt kimeneti típust jelöli

document
FormRecognizerRequestBody

FormRecognizerRequestBody, amelyet a kérelemmel együtt töltünk fel

options

AnalyzeDocumentOptions<Result>

az elemzési művelet és a lekérdezés opcionális beállításai

Válaszok

Promise<AnalysisPoller<Result>>

egy hosszú ideig futó művelet (poller), amely végül létrehoz egy AnalyzeResult a bemeneti modellhez társított eredménytípussal rendelkező dokumentumokkal

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

Adatok kinyerése egy bemenetből az egyedi azonosítója által megadott modell használatával.

Ez a művelet támogatja az egyéni és az előre összeállított modelleket is. Ha például az előre összeállított számlamodellt szeretné használni, adja meg az "előre összeállított számla" modellazonosítót, vagy az egyszerűbb előre összeállított elrendezési modell használatához adja meg az "előre összeállított elrendezés" modellazonosítót.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek, és a kinyert dokumentumok mezőinek értékei a modell dokumentumtípusaitól (ha vannak) és a hozzájuk tartozó mezős sémáktól függenek.

Példák

Ez a módszer támogatja az adatok kinyerését egy adott URL-címen lévő fájlból. A Form Recognizer szolgáltatás megpróbál letölteni egy fájlt a beküldött URL-cím használatával, így az URL-címnek elérhetőnek kell lennie a nyilvános internetről. Például egy SAS-jogkivonattal olvasási hozzáférést biztosíthat egy blobhoz az Azure Storage-ban, és a szolgáltatás az SAS-kódolt URL-címmel kéri le a fájlt.

import { DefaultAzureCredential } from "@azure/identity";
import {
  DocumentAnalysisClient,
  DocumentStringField,
  DocumentArrayField,
  DocumentObjectField,
} from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const poller = await client.beginAnalyzeDocumentFromUrl(
  "prebuilt-receipt",
  // The Document Intelligence service will access the following URL to a receipt image and extract data from it
  "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/receipt/contoso-receipt.png",
);
poller.onProgress((state) => console.log("Operation:", state.modelId, state.status));

const { documents } = await poller.pollUntilDone();

const result = documents && documents[0];
if (result) {
  const receipt = result.fields;
  console.log("=== Receipt Information ===");
  console.log("Type:", result.docType);
  console.log("Merchant:", (receipt["MerchantName"] as DocumentStringField).value);

  console.log("Items:");
  for (const { properties: item } of ((receipt["Items"] as DocumentArrayField).values ||
    []) as DocumentObjectField[]) {
    console.log("- Description:", (item["Description"] as DocumentStringField).value);
    console.log("  Total Price:", (item["TotalPrice"] as DocumentStringField).value);
  }
} else {
  throw new Error("Expected at least one receipt in the result.");
}
function beginAnalyzeDocumentFromUrl(modelId: string, documentUrl: string, options?: AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>

Paraméterek

modelId

string

a modell egyedi azonosítója (neve) az ügyfél erőforrásán belül

documentUrl

string

a nyilvános internetről elérhető bemeneti dokumentum URL-címe (sztringje)

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

az elemzési művelet és a lekérdezés opcionális beállításai

Válaszok

egy hosszú ideig futó művelet (poller), amely végül létrehoz egy AnalyzeResult

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

Adatok kinyerése egy bemenetből egy ismert, erősen gépelt dokumentumsémával (DocumentModel) rendelkező modell használatával.

A AnalyzeResult létrehozott mezők az elemzéshez használt modelltől függenek. A TypeScriptben a metódus eredményének típusa túlterhelést von le a bemeneti DocumentModeltípusából.

Példák

Ez a módszer támogatja az adatok kinyerését egy adott URL-címen lévő fájlból. A Form Recognizer szolgáltatás megpróbál letölteni egy fájlt a beküldött URL-cím használatával, így az URL-címnek elérhetőnek kell lennie a nyilvános internetről. Például egy SAS-jogkivonattal olvasási hozzáférést biztosíthat egy blobhoz az Azure Storage-ban, és a szolgáltatás az SAS-kódolt URL-címmel kéri le a fájlt.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { PrebuiltReceiptModel } from "../samples-dev/prebuilt/prebuilt-receipt.js";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const poller = await client.beginAnalyzeDocumentFromUrl(
  PrebuiltReceiptModel,
  // The Document Intelligence service will access the following URL to a receipt image and extract data from it
  "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/receipt/contoso-receipt.png",
);

const {
  documents: [document],
} = await poller.pollUntilDone();

// Use of PrebuiltModels.Receipt above (rather than the raw model ID), as it adds strong typing of the model's output
if (document) {
  const { merchantName, items, total } = document.fields;

  console.log("=== Receipt Information ===");
  console.log("Type:", document.docType);
  console.log("Merchant:", merchantName && merchantName.value);

  console.log("Items:");
  for (const item of (items && items.values) || []) {
    const { description, totalPrice } = item.properties;

    console.log("- Description:", description && description.value);
    console.log("  Total Price:", totalPrice && totalPrice.value);
  }

  console.log("Total:", total && total.value);
} else {
  throw new Error("Expected at least one receipt in the result.");
}
function beginAnalyzeDocumentFromUrl<Result>(model: DocumentModel<Result>, documentUrl: string, options?: AnalyzeDocumentOptions<Result>): Promise<AnalysisPoller<Result>>

Paraméterek

model

DocumentModel<Result>

egy DocumentModel-, amely az elemzéshez használni kívánt modellt és a várt kimeneti típust jelöli

documentUrl

string

a nyilvános internetről elérhető bemeneti dokumentum URL-címe (sztringje)

options

AnalyzeDocumentOptions<Result>

az elemzési művelet és a lekérdezés opcionális beállításai

Válaszok

Promise<AnalysisPoller<Result>>

egy hosszú ideig futó művelet (poller), amely végül létrehoz egy AnalyzeResult

beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)

Osztályozhatja a dokumentumokat az azonosítója által megadott egyéni osztályozó használatával.

Ez a metódus egy hosszú ideig futó műveletet (pollert) hoz létre, amely végül létrehoz egy AnalyzeResult. Ez ugyanaz a típus, mint beginAnalyzeDocument és beginAnalyzeDocumentFromUrl, de az eredmény csak a mezőinek egy kis részét tartalmazza. Csak a documents és a pages mező lesz kitöltve, és csak a minimális oldalinformációk lesznek visszaadva. A documents mező az összes azonosított dokumentumra és a besorolásuk docType vonatkozó információkat tartalmazza.

Példa

Ez a módszer támogatja a streamelhető kérelemtörzseket (FormRecognizerRequestBody), például Node.JS ReadableStream objektumokat, böngésző Blobés ArrayBuffers. A rendszer a törzs tartalmát elemzés céljából feltölti a szolgáltatásba.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
import { createReadStream } from "node:fs";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const path = "<path to a document>";
const readStream = createReadStream(path);

const poller = await client.beginClassifyDocument("<classifier id>", readStream);

const result = await poller.pollUntilDone();

if (result?.documents?.length === 0) {
  throw new Error("Failed to extract any documents.");
}

for (const document of result.documents) {
  console.log(
    `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,
  );
}
function beginClassifyDocument(classifierId: string, document: FormRecognizerRequestBody, options?: ClassifyDocumentOptions): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>

Paraméterek

classifierId

string

az elemzéshez használandó egyéni osztályozó azonosítója

document
FormRecognizerRequestBody

az osztályozandó dokumentum

options
ClassifyDocumentOptions

a besorolási művelet beállításai

Válaszok

egy hosszú ideig futó művelet (poller), amely végül létrehoz egy AnalyzeResult

beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

Osztályozhatja a dokumentumokat egy URL-címről az azonosítója által megadott egyéni osztályozó használatával.

Ez a metódus egy hosszú ideig futó műveletet (pollert) hoz létre, amely végül létrehoz egy AnalyzeResult. Ez ugyanaz a típus, mint beginAnalyzeDocument és beginAnalyzeDocumentFromUrl, de az eredmény csak a mezőinek egy kis részét tartalmazza. Csak a documents és a pages mező lesz kitöltve, és csak a minimális oldalinformációk lesznek visszaadva. A documents mező az összes azonosított dokumentumra és a besorolásuk docType vonatkozó információkat tartalmazza.

Példa

Ez a módszer támogatja az adatok kinyerését egy adott URL-címen lévő fájlból. A Form Recognizer szolgáltatás megpróbál letölteni egy fájlt a beküldött URL-cím használatával, így az URL-címnek elérhetőnek kell lennie a nyilvános internetről. Például egy SAS-jogkivonattal olvasási hozzáférést biztosíthat egy blobhoz az Azure Storage-ban, és a szolgáltatás az SAS-kódolt URL-címmel kéri le a fájlt.

import { DefaultAzureCredential } from "@azure/identity";
import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";

const credential = new DefaultAzureCredential();
const client = new DocumentAnalysisClient(
  "https://<resource name>.cognitiveservices.azure.com",
  credential,
);

const documentUrl =
  "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/invoice/Invoice_1.pdf";

const poller = await client.beginClassifyDocumentFromUrl("<classifier id>", documentUrl);

const result = await poller.pollUntilDone();

if (result?.documents?.length === 0) {
  throw new Error("Failed to extract any documents.");
}

for (const document of result.documents) {
  console.log(
    `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,
  );
}
function beginClassifyDocumentFromUrl(classifierId: string, documentUrl: string, options?: ClassifyDocumentOptions): Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>

Paraméterek

classifierId

string

az elemzéshez használandó egyéni osztályozó azonosítója

documentUrl

string

az osztályozandó dokumentum URL-címe

Válaszok