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);
コンストラクター
Document |
例:
|
Document |
Azure Active Directory での認証の 例:
|
メソッド
begin |
一意の ID によって指定されたモデルを使用して、入力からデータを抽出します。 この操作では、カスタム モデルと事前構築済みモデルがサポートされます。 たとえば、事前構築済みの請求書モデルを使用するには、モデル ID "prebuilt-invoice" を指定するか、よりシンプルな事前構築済みレイアウト モデルを使用するには、モデル ID "prebuilt-layout" を指定します。 で 例このメソッドは、Node.JS
|
begin |
既知の厳密に型指定されたドキュメント スキーマ ( DocumentModel) を持つモデルを使用して、入力からデータを抽出します。 で 例このメソッドは、Node.JS 指定された入力が文字列の場合は、分析するドキュメントの場所の URL として扱われます。 詳細については、 beginAnalyzeDocumentFromUrl メソッドを参照してください。 URL を使用する場合は、そのメソッドを使用することをお勧めします。URL のサポートは、下位互換性のためにこのメソッドでのみ提供されます。
|
begin |
一意の ID によって指定されたモデルを使用して、入力からデータを抽出します。 この操作では、カスタム モデルと事前構築済みモデルがサポートされます。 たとえば、事前構築済みの請求書モデルを使用するには、モデル ID "prebuilt-invoice" を指定するか、よりシンプルな事前構築済みレイアウト モデルを使用するには、モデル ID "prebuilt-layout" を指定します。 で 例このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。
|
begin |
既知の厳密に型指定されたドキュメント スキーマ ( DocumentModel) を持つモデルを使用して、入力からデータを抽出します。 で 例このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。
|
begin |
ID で指定されたカスタム分類子を使用してドキュメントを分類します。 このメソッドは、最終的に を生成する実行時間の長い操作 (ポーリング) を生成します 例このメソッドは、Node.JS
|
begin |
ID で指定されたカスタム分類子を使用して、URL からドキュメントを分類します。 このメソッドは、最終的に を生成する実行時間の長い操作 (ポーリング) を生成します 例このメソッドは、特定の URL でファイルからデータを抽出することをサポートしています。 Form Recognizer サービスは、送信された URL を使用してファイルのダウンロードを試みます。そのため、URL にはパブリック インターネットからアクセスできる必要があります。 たとえば、SAS トークンを使用して Azure Storage 内の BLOB に読み取りアクセス権を付与し、サービスは SAS でエンコードされた URL を使用してファイルを要求します。
|
コンストラクターの詳細
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
オブジェクト、ブラウザーBlob
ArrayBuffer
、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
分析操作とポーリングのオプション設定
戻り値
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
実行時間の長い操作 (ポーリング) を実行すると、最終的に AnalyzeResult
beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)
既知の厳密に型指定されたドキュメント スキーマ ( DocumentModel) を持つモデルを使用して、入力からデータを抽出します。
で AnalyzeResult
生成されるフィールドは、分析に使用されるモデルによって異なります。 TypeScript では、このメソッド オーバーロードの結果の型は、入力 DocumentModel
の型から推論されます。
例
このメソッドは、Node.JS ReadableStream
オブジェクト、ブラウザーBlob
ArrayBuffer
、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 (文字列)
分析操作とポーリングのオプション設定
戻り値
Promise<AnalysisPoller<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
オブジェクト、ブラウザーBlob
ArrayBuffer
、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
分類操作のオプション
戻り値
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
実行時間の長い操作 (ポーリング) を実行すると、最終的に 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
- options
- ClassifyDocumentOptions
戻り値
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>