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);
Конструкторы
Document |
Создайте Пример
|
Document |
Создайте
Пример
|
Методы
begin |
Извлечение данных из входных данных с помощью модели, заданной уникальным идентификатором. Эта операция поддерживает как пользовательские, так и предварительно созданные модели. Например, чтобы использовать предварительно созданную модель счета, укажите идентификатор модели prebuilt-invoice или более простую предварительно созданную модель макета, укажите идентификатор модели prebuilt-layout. Поля, создаваемые ПримерыЭтот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS
|
begin |
Извлечение данных из входных данных с помощью модели, которая имеет известную строго типизированную схему документа ( DocumentModel). Поля, созданные в , ПримерыЭтот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS Если предоставленные входные данные представляют собой строку, она будет рассматриваться как URL-адрес расположения анализируемого документа. Дополнительные сведения см. в статье Метод beginAnalyzeDocumentFromUrl . Использование этого метода является предпочтительным при использовании URL-адресов, а поддержка URL-адресов предоставляется только в этом методе для обеспечения обратной совместимости.
|
begin |
Извлечение данных из входных данных с помощью модели, заданной уникальным идентификатором. Эта операция поддерживает как пользовательские, так и предварительно созданные модели. Например, чтобы использовать предварительно созданную модель счета, укажите идентификатор модели prebuilt-invoice или более простую предварительно созданную модель макета, укажите идентификатор модели prebuilt-layout. Поля, создаваемые ПримерыЭтот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать URL-адрес в кодировке SAS для запроса файла.
|
begin |
Извлечение данных из входных данных с помощью модели, которая имеет известную строго типизированную схему документа ( DocumentModel). Поля, созданные в , ПримерыЭтот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать URL-адрес в кодировке SAS для запроса файла.
|
begin |
Классифицируйте документ с помощью пользовательского классификатора, заданного его идентификатором. Этот метод создает длительную операцию (средство опроса), которая в конечном итоге создает ПримерЭтот метод поддерживает потоковые тела запросов (FormRecognizerRequestBody), такие как объекты Node.JS
|
begin |
Классификация документа по URL-адресу с помощью пользовательского классификатора, заданного его идентификатором. Этот метод создает длительную операцию (средство опроса), которая в конечном итоге создает ПримерЭтот метод поддерживает извлечение данных из файла по заданному URL-адресу. Служба Распознаватель документов попытается скачать файл, используя отправленный URL-адрес, поэтому URL-адрес должен быть доступен из общедоступного Интернета. Например, маркер SAS можно использовать для предоставления доступа на чтение к большому двоичному объекту в службе хранилища Azure, а служба будет использовать URL-адрес в кодировке SAS для запроса файла.
|
Сведения о конструкторе
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
экземпляр из конечной точки ресурса и удостоверения TokenCredential
Azure.
@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, который будет отправлен вместе с запросом.
необязательные параметры для операции анализа и средства опроса
Возвращаемое значение
Promise<AnalysisPoller<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-адрес (строка) входного документа, доступного из общедоступного Интернета
необязательные параметры для операции анализа и средства опроса
Возвращаемое значение
Promise<AnalysisPoller<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
параметры для операции классификации
Возвращаемое значение
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
длительная операция (опрашиватель), которая в конечном итоге создаст 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-адрес документа для классификации;
- options
- ClassifyDocumentOptions
Возвращаемое значение
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>