DocumentAnalysisClient class

Form Recognizer サービスの分析機能を操作するためのクライアント。

例 :

Form Recognizer サービスとクライアントでは、次の 2 つの認証方法がサポートされています。

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リソース エンドポイントと Azure ID からインスタンスを作成しますTokenCredential

Azure Active Directory での認証の @azure/identity 詳細については、パッケージを参照してください。

例:

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

一意の ID によって指定されたモデルを使用して、入力からデータを抽出します。

この操作では、カスタム モデルと事前構築済みモデルがサポートされます。 たとえば、事前構築済みの請求書モデルを使用するには、モデル ID "prebuilt-invoice" を指定するか、よりシンプルな事前構築済みレイアウト モデルを使用するには、モデル ID "prebuilt-layout" を指定します。

AnalyzeResult 生成されるフィールドは、分析に使用されるモデルによって異なります。抽出されたドキュメントのフィールドの値は、モデル内のドキュメントの種類 (存在する場合) とそれに対応するフィールド スキーマによって異なります。

このメソッドは、Node.JS ReadableStream オブジェクト、ブラウザーBlobArrayBuffer、s など、ストリーミング可能な要求本文 (FormRecognizerRequestBody) をサポートしています。 本文の内容は、分析のためにサービスにアップロードされます。

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の型から推論されます。

このメソッドは、Node.JS ReadableStream オブジェクト、ブラウザーBlobArrayBuffer、s など、ストリーミング可能な要求本文 (FormRecognizerRequestBody) をサポートしています。 本文の内容は、分析のためにサービスにアップロードされます。

指定された入力が文字列の場合は、分析するドキュメントの場所の 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>>)

一意の ID によって指定されたモデルを使用して、入力からデータを抽出します。

この操作では、カスタム モデルと事前構築済みモデルがサポートされます。 たとえば、事前構築済みの請求書モデルを使用するには、モデル ID "prebuilt-invoice" を指定するか、よりシンプルな事前構築済みレイアウト モデルを使用するには、モデル ID "prebuilt-layout" を指定します。

AnalyzeResult 生成されるフィールドは、分析に使用されるモデルによって異なります。抽出されたドキュメントのフィールドの値は、モデル内のドキュメントの種類 (存在する場合) とそれに対応するフィールド スキーマによって異なります。

このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。

// 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 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。

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

ID で指定されたカスタム分類子を使用してドキュメントを分類します。

このメソッドは、最終的に を生成する実行時間の長い操作 (ポーリング) を生成します AnalyzeResult。 これは と beginAnalyzeDocumentFromUrlと同じ型beginAnalyzeDocumentですが、結果にはフィールドの小さなサブセットのみが含まれます。 documentsフィールドとpagesフィールドのみが設定され、最小限のページ情報のみが返されます。 フィールド documents には、識別されたすべてのドキュメントと、それらが分類された ドキュメントに docType 関する情報が含まれます。

このメソッドは、Node.JS ReadableStream オブジェクト、ブラウザーBlobArrayBuffer、s など、ストリーミング可能な要求本文 (FormRecognizerRequestBody) をサポートしています。 本文の内容は、分析のためにサービスにアップロードされます。

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)

ID で指定されたカスタム分類子を使用して、URL からドキュメントを分類します。

このメソッドは、最終的に を生成する実行時間の長い操作 (ポーリング) を生成します AnalyzeResult。 これは と beginAnalyzeDocumentFromUrlと同じ型beginAnalyzeDocumentですが、結果にはフィールドの小さなサブセットのみが含まれます。 documentsフィールドとpagesフィールドのみが設定され、最小限のページ情報のみが返されます。 フィールド documents には、識別されたすべてのドキュメントと、それらが分類された ドキュメントに docType 関する情報が含まれます。

このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。

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

Azure Cognitive Services インスタンスのエンドポイント URL

credential
KeyCredential

Cognitive Services インスタンスサブスクリプション キーを含む KeyCredential

options
DocumentAnalysisClientOptions

クライアント内のすべてのメソッドを構成するためのオプションの設定

DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)

DocumentAnalysisClientリソース エンドポイントと Azure ID からインスタンスを作成しますTokenCredential

Azure Active Directory での認証の @azure/identity 詳細については、パッケージを参照してください。

例:

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

Azure Cognitive Services インスタンスのエンドポイント URL

credential
TokenCredential

パッケージからの @azure/identity TokenCredential インスタンス

options
DocumentAnalysisClientOptions

クライアント内のすべてのメソッドを構成するためのオプションの設定

メソッドの詳細

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

一意の ID によって指定されたモデルを使用して、入力からデータを抽出します。

この操作では、カスタム モデルと事前構築済みモデルがサポートされます。 たとえば、事前構築済みの請求書モデルを使用するには、モデル ID "prebuilt-invoice" を指定するか、よりシンプルな事前構築済みレイアウト モデルを使用するには、モデル ID "prebuilt-layout" を指定します。

AnalyzeResult 生成されるフィールドは、分析に使用されるモデルによって異なります。抽出されたドキュメントのフィールドの値は、モデル内のドキュメントの種類 (存在する場合) とそれに対応するフィールド スキーマによって異なります。

このメソッドは、Node.JS ReadableStream オブジェクト、ブラウザーBlobArrayBuffer、s など、ストリーミング可能な要求本文 (FormRecognizerRequestBody) をサポートしています。 本文の内容は、分析のためにサービスにアップロードされます。

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

このクライアントのリソース内のモデルの一意の ID (名前)

document
FormRecognizerRequestBody

要求と共にアップロードされる FormRecognizerRequestBody

options

AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>

分析操作とポーリングのオプション設定

戻り値

実行時間の長い操作 (ポーリング) を実行すると、最終的に AnalyzeResult

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

既知の厳密に型指定されたドキュメント スキーマ ( DocumentModel) を持つモデルを使用して、入力からデータを抽出します。

AnalyzeResult 生成されるフィールドは、分析に使用されるモデルによって異なります。 TypeScript では、このメソッド オーバーロードの結果の型は、入力 DocumentModelの型から推論されます。

このメソッドは、Node.JS ReadableStream オブジェクト、ブラウザーBlobArrayBuffer、s など、ストリーミング可能な要求本文 (FormRecognizerRequestBody) をサポートしています。 本文の内容は、分析のためにサービスにアップロードされます。

指定された入力が文字列の場合は、分析するドキュメントの場所の 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>>)

一意の ID によって指定されたモデルを使用して、入力からデータを抽出します。

この操作では、カスタム モデルと事前構築済みモデルがサポートされます。 たとえば、事前構築済みの請求書モデルを使用するには、モデル ID "prebuilt-invoice" を指定するか、よりシンプルな事前構築済みレイアウト モデルを使用するには、モデル ID "prebuilt-layout" を指定します。

AnalyzeResult 生成されるフィールドは、分析に使用されるモデルによって異なります。抽出されたドキュメントのフィールドの値は、モデル内のドキュメントの種類 (存在する場合) とそれに対応するフィールド スキーマによって異なります。

このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。

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

このクライアントのリソース内のモデルの一意の ID (名前)

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 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。

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

ID で指定されたカスタム分類子を使用してドキュメントを分類します。

このメソッドは、最終的に を生成する実行時間の長い操作 (ポーリング) を生成します AnalyzeResult。 これは と beginAnalyzeDocumentFromUrlと同じ型beginAnalyzeDocumentですが、結果にはフィールドの小さなサブセットのみが含まれます。 documentsフィールドとpagesフィールドのみが設定され、最小限のページ情報のみが返されます。 フィールド documents には、識別されたすべてのドキュメントと、それらが分類された ドキュメントに docType 関する情報が含まれます。

このメソッドは、Node.JS ReadableStream オブジェクト、ブラウザーBlobArrayBuffer、s など、ストリーミング可能な要求本文 (FormRecognizerRequestBody) をサポートしています。 本文の内容は、分析のためにサービスにアップロードされます。

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

分析に使用するカスタム分類子の ID

document
FormRecognizerRequestBody

分類するドキュメント

options
ClassifyDocumentOptions

分類操作のオプション

戻り値

実行時間の長い操作 (ポーリング) を実行すると、最終的に AnalyzeResult

beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)

ID で指定されたカスタム分類子を使用して、URL からドキュメントを分類します。

このメソッドは、最終的に を生成する実行時間の長い操作 (ポーリング) を生成します AnalyzeResult。 これは と beginAnalyzeDocumentFromUrlと同じ型beginAnalyzeDocumentですが、結果にはフィールドの小さなサブセットのみが含まれます。 documentsフィールドとpagesフィールドのみが設定され、最小限のページ情報のみが返されます。 フィールド documents には、識別されたすべてのドキュメントと、それらが分類された ドキュメントに docType 関する情報が含まれます。

このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。

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

分析に使用するカスタム分類子の ID

documentUrl

string

分類するドキュメントの URL

戻り値