DocumentAnalysisClient class

عميل للتفاعل مع ميزات تحليل خدمة Form Recognizer.

أمثلة:

تدعم خدمة Form Recognizer والعملاء وسيلتين للمصادقة:

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

مفتاح واجهة برمجة التطبيقات (مفتاح الاشتراك)

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, KeyCredential, DocumentAnalysisClientOptions)

إنشاء مثيل DocumentAnalysisClient من نقطة نهاية مورد ومفتاح واجهة برمجة تطبيقات ثابت (KeyCredential

مثال:

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)

إنشاء مثيل DocumentAnalysisClient من نقطة نهاية مورد وهوية TokenCredentialAzure .

راجع الحزمة @azure/identity لمزيد من المعلومات حول المصادقة باستخدام 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);

الأساليب

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

استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد.

تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء".

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل، وتعتمد القيم الموجودة في حقول أي مستندات مستخرجة على أنواع المستندات في النموذج (إن وجدت) ومخططات الحقول المقابلة لها.

أمثلة

يدعم هذا الأسلوب هيئات الطلب القابلة للبث (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStream والمستعرض Blobوs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة لتحليلها.

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

استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة ( DocumentModel).

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل. في TypeScript، يتم استنتاج نوع النتيجة لهذا الأسلوب الزائد من نوع الإدخال DocumentModel.

أمثلة

يدعم هذا الأسلوب هيئات الطلب القابلة للبث (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStream والمستعرض Blobوs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة لتحليلها.

إذا كان الإدخال المقدم عبارة عن سلسلة، فسيتم التعامل معه كعنون URL لموقع المستند الذي سيتم تحليله. راجع أسلوب beginAnalyzeDocumentFromUrl لمزيد من المعلومات. يفضل استخدام هذا الأسلوب عند استخدام عناوين URL، ويتم توفير دعم عنوان URL فقط في هذا الأسلوب للتوافق مع الإصدارات السابقة.

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

استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد.

تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء".

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل، وتعتمد القيم الموجودة في حقول أي مستندات مستخرجة على أنواع المستندات في النموذج (إن وجدت) ومخططات الحقول المقابلة لها.

أمثلة

يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.

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

استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة ( DocumentModel).

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل. في TypeScript، يتم استنتاج نوع النتيجة لهذا الأسلوب الزائد من نوع الإدخال DocumentModel.

أمثلة

يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.

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

قم بتصنيف مستند باستخدام مصنف مخصص تم تقديمه بواسطة معرفه.

ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) التي ستنتج AnalyzeResultفي النهاية . هذا هو نفس النوع مثل beginAnalyzeDocument و beginAnalyzeDocumentFromUrl، ولكن النتيجة ستحتوي فقط على مجموعة فرعية صغيرة من حقولها. documents سيتم ملء الحقل وحقل pages فقط، وسيتم إرجاع الحد الأدنى فقط من معلومات الصفحة. documents سيحتوي الحقل على معلومات حول جميع المستندات المحددة والتي docType تم تصنيفها على أنها.

مثال

يدعم هذا الأسلوب هيئات الطلب القابلة للبث (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStream والمستعرض Blobوs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة لتحليلها.

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)

قم بتصنيف مستند من عنوان URL باستخدام مصنف مخصص تم تقديمه بواسطة معرفه.

ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) التي ستنتج AnalyzeResultفي النهاية . هذا هو نفس النوع مثل beginAnalyzeDocument و beginAnalyzeDocumentFromUrl، ولكن النتيجة ستحتوي فقط على مجموعة فرعية صغيرة من حقولها. documents سيتم ملء الحقل وحقل pages فقط، وسيتم إرجاع الحد الأدنى فقط من معلومات الصفحة. documents سيحتوي الحقل على معلومات حول جميع المستندات المحددة والتي docType تم تصنيفها على أنها.

مثال

يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.

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

تفاصيل المنشئ

DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)

إنشاء مثيل DocumentAnalysisClient من نقطة نهاية مورد ومفتاح واجهة برمجة تطبيقات ثابت (KeyCredential

مثال:

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)

المعلمات

endpoint

string

عنوان URL لنقطة النهاية لمثيل Azure Cognitive Services

credential
KeyCredential

KeyCredential يحتوي على مفتاح اشتراك مثيل الخدمات المعرفية

options
DocumentAnalysisClientOptions

الإعدادات الاختيارية لتكوين جميع الأساليب في العميل

DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

إنشاء مثيل DocumentAnalysisClient من نقطة نهاية مورد وهوية TokenCredentialAzure .

راجع الحزمة @azure/identity لمزيد من المعلومات حول المصادقة باستخدام 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);
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 ReadableStream والمستعرض Blobوs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة لتحليلها.

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

المعلمات

modelId

string

المعرف الفريد (الاسم) للنموذج داخل مورد العميل هذا

document
FormRecognizerRequestBody

FormRecognizerRequestBody الذي سيتم تحميله مع الطلب

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

الإعدادات الاختيارية لعملية التحليل والناقص

المرتجعات

عملية طويلة الأمد (الاستقصاء) التي ستنتج في نهاية المطاف AnalyzeResult

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

استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة ( DocumentModel).

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل. في TypeScript، يتم استنتاج نوع النتيجة لهذا الأسلوب الزائد من نوع الإدخال DocumentModel.

أمثلة

يدعم هذا الأسلوب هيئات الطلب القابلة للبث (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStream والمستعرض Blobوs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة لتحليلها.

إذا كان الإدخال المقدم عبارة عن سلسلة، فسيتم التعامل معه كعنون URL لموقع المستند الذي سيتم تحليله. راجع أسلوب beginAnalyzeDocumentFromUrl لمزيد من المعلومات. يفضل استخدام هذا الأسلوب عند استخدام عناوين URL، ويتم توفير دعم عنوان URL فقط في هذا الأسلوب للتوافق مع الإصدارات السابقة.

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

المعلمات

model

DocumentModel<Result>

DocumentModel يمثل النموذج المراد استخدامه للتحليل ونوع الإخراج المتوقع

document
FormRecognizerRequestBody

FormRecognizerRequestBody الذي سيتم تحميله مع الطلب

options

AnalyzeDocumentOptions<Result>

الإعدادات الاختيارية لعملية التحليل والناقص

المرتجعات

Promise<AnalysisPoller<Result>>

عملية طويلة الأمد (الاستقصاء) التي ستنتج AnalyzeResult في النهاية مع المستندات التي لها نوع النتيجة المقترن بنموذج الإدخال

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

استخراج البيانات من إدخال باستخدام نموذج تم تقديمه بواسطة معرفه الفريد.

تدعم هذه العملية النماذج المخصصة وكذلك التي تم إنشاؤها مسبقا. على سبيل المثال، لاستخدام نموذج الفاتورة الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "prebuilt-invoice"، أو لاستخدام نموذج التخطيط الأبسط الذي تم إنشاؤه مسبقا، قم بتوفير معرف النموذج "تخطيط مسبق الإنشاء".

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل، وتعتمد القيم الموجودة في حقول أي مستندات مستخرجة على أنواع المستندات في النموذج (إن وجدت) ومخططات الحقول المقابلة لها.

أمثلة

يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.

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

المعلمات

modelId

string

المعرف الفريد (الاسم) للنموذج داخل مورد العميل هذا

documentUrl

string

عنوان URL (سلسلة) لمستند إدخال يمكن الوصول إليه من الإنترنت العام

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

الإعدادات الاختيارية لعملية التحليل والناقص

المرتجعات

عملية طويلة الأمد (الاستقصاء) التي ستنتج في نهاية المطاف AnalyzeResult

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

استخراج البيانات من إدخال باستخدام نموذج يحتوي على مخطط مستند معروف مكتوب بقوة ( DocumentModel).

تعتمد الحقول المنتجة AnalyzeResult في على النموذج المستخدم للتحليل. في TypeScript، يتم استنتاج نوع النتيجة لهذا الأسلوب الزائد من نوع الإدخال DocumentModel.

أمثلة

يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.

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

المعلمات

model

DocumentModel<Result>

DocumentModel يمثل النموذج المراد استخدامه للتحليل ونوع الإخراج المتوقع

documentUrl

string

عنوان URL (سلسلة) لمستند إدخال يمكن الوصول إليه من الإنترنت العام

options

AnalyzeDocumentOptions<Result>

الإعدادات الاختيارية لعملية التحليل والناقص

المرتجعات

Promise<AnalysisPoller<Result>>

عملية طويلة الأمد (الاستقصاء) التي ستنتج في نهاية المطاف AnalyzeResult

beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)

قم بتصنيف مستند باستخدام مصنف مخصص تم تقديمه بواسطة معرفه.

ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) التي ستنتج AnalyzeResultفي النهاية . هذا هو نفس النوع مثل beginAnalyzeDocument و beginAnalyzeDocumentFromUrl، ولكن النتيجة ستحتوي فقط على مجموعة فرعية صغيرة من حقولها. documents سيتم ملء الحقل وحقل pages فقط، وسيتم إرجاع الحد الأدنى فقط من معلومات الصفحة. documents سيحتوي الحقل على معلومات حول جميع المستندات المحددة والتي docType تم تصنيفها على أنها.

مثال

يدعم هذا الأسلوب هيئات الطلب القابلة للبث (FormRecognizerRequestBody) مثل كائنات Node.JS ReadableStream والمستعرض Blobوs ArrayBuffer. سيتم تحميل محتويات النص الأساسي إلى الخدمة لتحليلها.

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

المعلمات

classifierId

string

معرف المصنف المخصص لاستخدامه للتحليل

document
FormRecognizerRequestBody

المستند المراد تصنيفه

options
ClassifyDocumentOptions

خيارات لعملية التصنيف

المرتجعات

عملية طويلة الأمد (الاستقصاء) التي ستنتج في نهاية المطاف AnalyzeResult

beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

قم بتصنيف مستند من عنوان URL باستخدام مصنف مخصص تم تقديمه بواسطة معرفه.

ينتج عن هذا الأسلوب عملية طويلة الأمد (poller) التي ستنتج AnalyzeResultفي النهاية . هذا هو نفس النوع مثل beginAnalyzeDocument و beginAnalyzeDocumentFromUrl، ولكن النتيجة ستحتوي فقط على مجموعة فرعية صغيرة من حقولها. documents سيتم ملء الحقل وحقل pages فقط، وسيتم إرجاع الحد الأدنى فقط من معلومات الصفحة. documents سيحتوي الحقل على معلومات حول جميع المستندات المحددة والتي docType تم تصنيفها على أنها.

مثال

يدعم هذا الأسلوب استخراج البيانات من ملف في عنوان URL معين. ستحاول خدمة Form Recognizer تنزيل ملف باستخدام عنوان URL المرسل، لذلك يجب أن يكون عنوان URL متاحا من الإنترنت العام. على سبيل المثال، يمكن استخدام رمز SAS المميز لمنح حق الوصول للقراءة إلى كائن ثنائي كبير الحجم في Azure Storage، وستستخدم الخدمة عنوان URL المشفرة من SAS لطلب الملف.

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

المعلمات

classifierId

string

معرف المصنف المخصص لاستخدامه للتحليل

documentUrl

string

عنوان URL للمستند لتصنيفه

المرتجعات