DocumentAnalysisClient class
عميل للتفاعل مع ميزات تحليل خدمة Form Recognizer.
امثله:
تدعم خدمة Form Recognizer والعملاء وسيلتين للمصادقة:
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 (مفتاح الاشتراك)
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,
);
المنشئون
| Document |
إنشاء مثيل مثل:
|
| Document |
إنشاء مثيل راجع حزمة مثل:
|
الأساليب
| begin |
استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد. تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء". تعتمد الحقول المنتجة في امثلهيدعم هذا الأسلوب هيئات الطلب القابلة للتدفق (FormRecognizerRequestBody) مثل كائنات Node.JS
|
| begin |
استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة (DocumentModel). تعتمد الحقول المنتجة في امثلهيدعم هذا الأسلوب هيئات الطلب القابلة للتدفق (FormRecognizerRequestBody) مثل كائنات Node.JS إذا كان الإدخال المقدم عبارة عن سلسلة، التعامل معه على أنه عنوان URL لموقع المستند الذي سيتم تحليله. راجع أسلوب beginAnalyzeDocumentFromUrl للحصول على مزيد من المعلومات. يفضل استخدام هذا الأسلوب عند استخدام عناوين URL، ويتم توفير دعم URL فقط في هذا الأسلوب للتوافق مع الإصدارات السابقة.
|
| begin |
استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد. تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء". تعتمد الحقول المنتجة في امثلهيدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.
|
| begin |
استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة (DocumentModel). تعتمد الحقول المنتجة في امثلهيدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.
|
| begin |
تصنيف مستند باستخدام مصنف مخصص يتم تحديده بواسطة معرفه. ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) والتي ستنتج في نهاية المطاف مثليدعم هذا الأسلوب هيئات الطلب القابلة للتدفق (FormRecognizerRequestBody) مثل كائنات Node.JS
|
| begin |
تصنيف مستند من عنوان URL باستخدام مصنف مخصص تم تحديده بواسطة معرفه. ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) والتي ستنتج في نهاية المطاف مثليدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.
|
تفاصيل المنشئ
DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)
إنشاء مثيل DocumentAnalysisClient من نقطة نهاية مورد ومفتاح واجهة برمجة تطبيقات ثابت (KeyCredential)،
مثل:
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)
المعلمات
- endpoint
-
string
عنوان URL لنقطة النهاية لمثيل Azure Cognitive Services
- credential
- KeyCredential
KeyCredential يحتوي على مفتاح اشتراك مثيل الخدمات المعرفية
- options
- DocumentAnalysisClientOptions
إعدادات اختيارية لتكوين كافة الأساليب في العميل
DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)
إنشاء مثيل DocumentAnalysisClient من نقطة نهاية مورد TokenCredentialهوية Azure .
راجع حزمة @azure/identity لمزيد من المعلومات حول المصادقة باستخدام 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,
);
new DocumentAnalysisClient(endpoint: string, credential: TokenCredential, options?: DocumentAnalysisClientOptions)
المعلمات
- endpoint
-
string
عنوان URL لنقطة النهاية لمثيل Azure Cognitive Services
- credential
- TokenCredential
مثيل TokenCredential من حزمة @azure/identity
- options
- DocumentAnalysisClientOptions
إعدادات اختيارية لتكوين كافة الأساليب في العميل
تفاصيل الأسلوب
beginAnalyzeDocument(string, FormRecognizerRequestBody, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد.
تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء".
تعتمد الحقول المنتجة في AnalyzeResult على النموذج المستخدم للتحليل، وتعتمد القيم الموجودة في حقول المستندات المستخرجة على أنواع المستندات في النموذج (إن وجدت) ومخططات الحقول المقابلة لها.
امثله
يدعم هذا الأسلوب هيئات الطلب القابلة للتدفق (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStreamBlobالمستعرض s وs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة للتحليل.
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>>>
المعلمات
- modelId
-
string
المعرف الفريد (الاسم) للنموذج داخل مورد هذا العميل
- document
- FormRecognizerRequestBody
FormRecognizerRequestBody التي سيتم تحميلها مع الطلب
إعدادات اختيارية لعملية التحليل وأداة الاستقصاء
المرتجعات
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
عملية طويلة الأمد (بولر) التي ستنتج في نهاية المطاف AnalyzeResult
beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)
استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة (DocumentModel).
تعتمد الحقول المنتجة في AnalyzeResult على النموذج المستخدم للتحليل. في TypeScript، يتم استنتاج نوع النتيجة لهذا الأسلوب الزائد من نوع الإدخال DocumentModel.
امثله
يدعم هذا الأسلوب هيئات الطلب القابلة للتدفق (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStreamBlobالمستعرض s وs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة للتحليل.
إذا كان الإدخال المقدم عبارة عن سلسلة، التعامل معه على أنه عنوان URL لموقع المستند الذي سيتم تحليله. راجع أسلوب beginAnalyzeDocumentFromUrl للحصول على مزيد من المعلومات. يفضل استخدام هذا الأسلوب عند استخدام عناوين URL، ويتم توفير دعم URL فقط في هذا الأسلوب للتوافق مع الإصدارات السابقة.
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>>
المعلمات
- model
-
DocumentModel<Result>
DocumentModel يمثل النموذج لاستخدامه للتحليل ونوع الإخراج المتوقع
- document
- FormRecognizerRequestBody
FormRecognizerRequestBody التي سيتم تحميلها مع الطلب
- options
-
AnalyzeDocumentOptions<Result>
إعدادات اختيارية لعملية التحليل وأداة الاستقصاء
المرتجعات
Promise<AnalysisPoller<Result>>
عملية طويلة الأمد (poller) التي ستنتج في نهاية المطاف AnalyzeResult مع المستندات التي تحتوي على نوع النتيجة المقترن بنموذج الإدخال
beginAnalyzeDocumentFromUrl(string, string, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد.
تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء".
تعتمد الحقول المنتجة في AnalyzeResult على النموذج المستخدم للتحليل، وتعتمد القيم الموجودة في حقول المستندات المستخرجة على أنواع المستندات في النموذج (إن وجدت) ومخططات الحقول المقابلة لها.
امثله
يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.
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>>>
المعلمات
- modelId
-
string
المعرف الفريد (الاسم) للنموذج داخل مورد هذا العميل
- documentUrl
-
string
عنوان URL (سلسلة) لمستند إدخال يمكن الوصول إليه من الإنترنت العام
إعدادات اختيارية لعملية التحليل وأداة الاستقصاء
المرتجعات
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
عملية طويلة الأمد (بولر) التي ستنتج في نهاية المطاف AnalyzeResult
beginAnalyzeDocumentFromUrl<Result>(DocumentModel<Result>, string, AnalyzeDocumentOptions<Result>)
استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة (DocumentModel).
تعتمد الحقول المنتجة في AnalyzeResult على النموذج المستخدم للتحليل. في TypeScript، يتم استنتاج نوع النتيجة لهذا الأسلوب الزائد من نوع الإدخال DocumentModel.
امثله
يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.
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>>
المعلمات
- model
-
DocumentModel<Result>
DocumentModel يمثل النموذج لاستخدامه للتحليل ونوع الإخراج المتوقع
- documentUrl
-
string
عنوان URL (سلسلة) لمستند إدخال يمكن الوصول إليه من الإنترنت العام
- options
-
AnalyzeDocumentOptions<Result>
إعدادات اختيارية لعملية التحليل وأداة الاستقصاء
المرتجعات
Promise<AnalysisPoller<Result>>
عملية طويلة الأمد (بولر) التي ستنتج في نهاية المطاف AnalyzeResult
beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)
تصنيف مستند باستخدام مصنف مخصص يتم تحديده بواسطة معرفه.
ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) والتي ستنتج في نهاية المطاف AnalyzeResult. هذا هو نفس نوع beginAnalyzeDocumentbeginAnalyzeDocumentFromUrl، ولكن النتيجة سوف تحتوي فقط على مجموعة فرعية صغيرة من حقولها. سيتم ملء الحقل documents وحقل pages فقط، وسيتم إرجاع الحد الأدنى فقط من معلومات الصفحة. سيحتوي الحقل documents على معلومات حول جميع المستندات المحددة docType التي تم تصنيفها عليها.
مثل
يدعم هذا الأسلوب هيئات الطلب القابلة للتدفق (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStreamBlobالمستعرض s وs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة للتحليل.
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>>>
المعلمات
- classifierId
-
string
معرف المصنف المخصص لاستخدامه للتحليل
- document
- FormRecognizerRequestBody
المستند المراد تصنيفه
- options
- ClassifyDocumentOptions
خيارات لعملية التصنيف
المرتجعات
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
عملية طويلة الأمد (بولر) التي ستنتج في نهاية المطاف AnalyzeResult
beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)
تصنيف مستند من عنوان URL باستخدام مصنف مخصص تم تحديده بواسطة معرفه.
ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) والتي ستنتج في نهاية المطاف AnalyzeResult. هذا هو نفس نوع beginAnalyzeDocumentbeginAnalyzeDocumentFromUrl، ولكن النتيجة سوف تحتوي فقط على مجموعة فرعية صغيرة من حقولها. سيتم ملء الحقل documents وحقل pages فقط، وسيتم إرجاع الحد الأدنى فقط من معلومات الصفحة. سيحتوي الحقل documents على معلومات حول جميع المستندات المحددة docType التي تم تصنيفها عليها.
مثل
يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.
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>>>
المعلمات
- classifierId
-
string
معرف المصنف المخصص لاستخدامه للتحليل
- documentUrl
-
string
عنوان URL للمستند لتصنيفه
- options
- ClassifyDocumentOptions
المرتجعات
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>