Поделиться через


DocumentAnalysisClient class

Клиент для взаимодействия с функциями анализа службы Распознаватель документов.

Примеры:

Служба Распознаватель документов и клиенты поддерживают два способа проверки подлинности:

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

Ключ API (ключ подписки)

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 экземпляр из конечной точки ресурса и статического ключа API (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 или более простую предварительно созданную модель макета, укажите идентификатор модели prebuilt-layout.

Поля, создаваемые AnalyzeResult в , зависят от модели, используемой для анализа, а значения в полях извлеченных документов зависят от типов документов в модели (если таковые имеются) и соответствующих схем полей.

Примеры

Этот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS ReadableStream , браузеры Blobи 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и 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 или более простую предварительно созданную модель макета, укажите идентификатор модели prebuilt-layout.

Поля, создаваемые AnalyzeResult в , зависят от модели, используемой для анализа, а значения в полях извлеченных документов зависят от типов документов в модели (если таковые имеются) и соответствующих схем полей.

Примеры

Этот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать 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-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать 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)

Классифицируйте документ с помощью пользовательского классификатора, заданного его идентификатором.

Этот метод создает длительную операцию (средство опроса), которая в конечном итоге создает AnalyzeResult. Это тот же тип, что beginAnalyzeDocument и beginAnalyzeDocumentFromUrl, но результат будет содержать только небольшое подмножество полей. Будут заполнены documents только поля и pages будут возвращены только минимальные сведения о странице. Поле documents будет содержать сведения обо всех идентифицированных документах и docType о том, как они были классифицированы.

Пример

Этот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS ReadableStream , браузеры Blobи 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-адресу с помощью пользовательского классификатора, заданного его идентификатором.

Этот метод создает длительную операцию (средство опроса), которая в конечном итоге создает AnalyzeResult. Это тот же тип, что beginAnalyzeDocument и beginAnalyzeDocumentFromUrl, но результат будет содержать только небольшое подмножество полей. Будут заполнены documents только поля и pages будут возвращены только минимальные сведения о странице. Поле documents будет содержать сведения обо всех идентифицированных документах и docType о том, как они были классифицированы.

Пример

Этот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать 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 экземпляр из конечной точки ресурса и статического ключа API (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, содержащий ключ подписки экземпляра Cognitive Services.

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 или более простую предварительно созданную модель макета, укажите идентификатор модели prebuilt-layout.

Поля, создаваемые AnalyzeResult в , зависят от модели, используемой для анализа, а значения в полях извлеченных документов зависят от типов документов в модели (если таковые имеются) и соответствующих схем полей.

Примеры

Этот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS ReadableStream , браузеры Blobи 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и 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 или более простую предварительно созданную модель макета, укажите идентификатор модели prebuilt-layout.

Поля, создаваемые AnalyzeResult в , зависят от модели, используемой для анализа, а значения в полях извлеченных документов зависят от типов документов в модели (если таковые имеются) и соответствующих схем полей.

Примеры

Этот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать 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-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать 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)

Классифицируйте документ с помощью пользовательского классификатора, заданного его идентификатором.

Этот метод создает длительную операцию (средство опроса), которая в конечном итоге создает AnalyzeResult. Это тот же тип, что beginAnalyzeDocument и beginAnalyzeDocumentFromUrl, но результат будет содержать только небольшое подмножество полей. Будут заполнены documents только поля и pages будут возвращены только минимальные сведения о странице. Поле documents будет содержать сведения обо всех идентифицированных документах и docType о том, как они были классифицированы.

Пример

Этот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS ReadableStream , браузеры Blobи 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-адресу с помощью пользовательского классификатора, заданного его идентификатором.

Этот метод создает длительную операцию (средство опроса), которая в конечном итоге создает AnalyzeResult. Это тот же тип, что beginAnalyzeDocument и beginAnalyzeDocumentFromUrl, но результат будет содержать только небольшое подмножество полей. Будут заполнены documents только поля и pages будут возвращены только минимальные сведения о странице. Поле documents будет содержать сведения обо всех идентифицированных документах и docType о том, как они были классифицированы.

Пример

Этот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать 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-адрес документа для классификации;

Возвращаемое значение