DocumentAnalysisClient class
Klient do interakcji z funkcjami analizy usługi Rozpoznawanie formularzy.
Przykłady:
Usługa rozpoznawania formularzy i klienci obsługują dwa sposoby uwierzytelniania:
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);
Klucz interfejsu API (klucz subskrypcji)
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);
Konstruktory
Document |
Tworzenie wystąpienia Przykład:
|
Document |
Utwórz wystąpienie Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą usługi Azure Active Directory, zobacz pakiet Przykład:
|
Metody
begin |
Wyodrębnianie danych z danych wejściowych przy użyciu modelu podanego przez jego unikatowy identyfikator. Ta operacja obsługuje niestandardowe, a także wstępnie utworzone modele. Aby na przykład użyć wstępnie utworzonego modelu faktury, podaj identyfikator modelu "wstępnie utworzoną fakturę" lub użyj prostszego wstępnie utworzonego modelu układu, podaj identyfikator modelu "wstępnie utworzony układ". Pola utworzone w PrzykładyTa metoda obsługuje treść żądań przesyłanych strumieniowo (FormRecognizerRequestBody), takich jak obiekty Node.JS
|
begin |
Wyodrębnianie danych z danych wejściowych przy użyciu modelu, który ma znany, silnie typowany schemat dokumentu (DocumentModel). Pola utworzone w PrzykładyTa metoda obsługuje treść żądań przesyłanych strumieniowo (FormRecognizerRequestBody), takich jak obiekty Node.JS Jeśli podane dane wejściowe są ciągiem, będzie on traktowany jako adres URL do lokalizacji dokumentu do przeanalizowania. Aby uzyskać więcej informacji, zobacz metodę beginAnalyzeDocumentFromUrl. Użycie tej metody jest preferowane w przypadku korzystania z adresów URL, a obsługa adresów URL jest dostępna tylko w tej metodzie w celu zapewnienia zgodności z poprzednimi wersjami.
|
begin |
Wyodrębnianie danych z danych wejściowych przy użyciu modelu podanego przez jego unikatowy identyfikator. Ta operacja obsługuje niestandardowe, a także wstępnie utworzone modele. Aby na przykład użyć wstępnie utworzonego modelu faktury, podaj identyfikator modelu "wstępnie utworzoną fakturę" lub użyj prostszego wstępnie utworzonego modelu układu, podaj identyfikator modelu "wstępnie utworzony układ". Pola utworzone w PrzykładyTa metoda obsługuje wyodrębnianie danych z pliku pod danym adresem URL. Usługa rozpoznawania formularzy podejmie próbę pobrania pliku przy użyciu przesłanego adresu URL, więc adres URL musi być dostępny z publicznego Internetu. Na przykład token SAS może służyć do udzielania dostępu do odczytu do obiektu blob w usłudze Azure Storage, a usługa będzie używać adresu URL zakodowanego sygnaturą dostępu współdzielonego do żądania pliku.
|
begin |
Wyodrębnianie danych z danych wejściowych przy użyciu modelu, który ma znany, silnie typowany schemat dokumentu (DocumentModel). Pola utworzone w PrzykładyTa metoda obsługuje wyodrębnianie danych z pliku pod danym adresem URL. Usługa rozpoznawania formularzy podejmie próbę pobrania pliku przy użyciu przesłanego adresu URL, więc adres URL musi być dostępny z publicznego Internetu. Na przykład token SAS może służyć do udzielania dostępu do odczytu do obiektu blob w usłudze Azure Storage, a usługa będzie używać adresu URL zakodowanego sygnaturą dostępu współdzielonego do żądania pliku.
|
begin |
Klasyfikowanie dokumentu przy użyciu klasyfikatora niestandardowego podanego przez jego identyfikator. Ta metoda tworzy długotrwałą operację (poller), która ostatecznie utworzy PrzykładTa metoda obsługuje treść żądań przesyłanych strumieniowo (FormRecognizerRequestBody), takich jak obiekty Node.JS
|
begin |
Klasyfikowanie dokumentu z adresu URL przy użyciu klasyfikatora niestandardowego podanego przez jego identyfikator. Ta metoda tworzy długotrwałą operację (poller), która ostatecznie utworzy PrzykładTa metoda obsługuje wyodrębnianie danych z pliku pod danym adresem URL. Usługa rozpoznawania formularzy podejmie próbę pobrania pliku przy użyciu przesłanego adresu URL, więc adres URL musi być dostępny z publicznego Internetu. Na przykład token SAS może służyć do udzielania dostępu do odczytu do obiektu blob w usłudze Azure Storage, a usługa będzie używać adresu URL zakodowanego sygnaturą dostępu współdzielonego do żądania pliku.
|
Szczegóły konstruktora
DocumentAnalysisClient(string, KeyCredential, DocumentAnalysisClientOptions)
Tworzenie wystąpienia DocumentAnalysisClient
na podstawie punktu końcowego zasobu i statycznego klucza interfejsu API (KeyCredential
),
Przykład:
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)
Parametry
- endpoint
-
string
adres URL punktu końcowego wystąpienia usług Azure Cognitive Services
- credential
- KeyCredential
KeyCredential zawierający klucz subskrypcji wystąpienia usług Cognitive Services
- options
- DocumentAnalysisClientOptions
opcjonalne ustawienia konfigurowania wszystkich metod w kliencie
DocumentAnalysisClient(string, TokenCredential, DocumentAnalysisClientOptions)
Utwórz wystąpienie DocumentAnalysisClient
na podstawie punktu końcowego zasobu i TokenCredential
tożsamości platformy Azure.
Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą usługi Azure Active Directory, zobacz pakiet @azure/identity
.
Przykład:
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)
Parametry
- endpoint
-
string
adres URL punktu końcowego wystąpienia usług Azure Cognitive Services
- credential
- TokenCredential
wystąpienie TokenCredential z pakietu @azure/identity
- options
- DocumentAnalysisClientOptions
opcjonalne ustawienia konfigurowania wszystkich metod w kliencie
Szczegóły metody
beginAnalyzeDocument(string, FormRecognizerRequestBody, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
Wyodrębnianie danych z danych wejściowych przy użyciu modelu podanego przez jego unikatowy identyfikator.
Ta operacja obsługuje niestandardowe, a także wstępnie utworzone modele. Aby na przykład użyć wstępnie utworzonego modelu faktury, podaj identyfikator modelu "wstępnie utworzoną fakturę" lub użyj prostszego wstępnie utworzonego modelu układu, podaj identyfikator modelu "wstępnie utworzony układ".
Pola utworzone w AnalyzeResult
zależą od modelu używanego do analizy, a wartości w dowolnych wyodrębnionych polach dokumentów zależą od typów dokumentów w modelu (jeśli istnieje) i odpowiadających im schematów pól.
Przykłady
Ta metoda obsługuje treść żądań przesyłanych strumieniowo (FormRecognizerRequestBody), takich jak obiekty Node.JS ReadableStream
, Blob
przeglądarki i ArrayBuffer
s. Zawartość treści zostanie przekazana do usługi na potrzeby analizy.
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>>>
Parametry
- modelId
-
string
unikatowy identyfikator (nazwa) modelu w ramach zasobu tego klienta
- document
- FormRecognizerRequestBody
FormRecognizerRequestBody, które zostaną przekazane wraz z żądaniem
opcjonalne ustawienia operacji analizy i narzędzia poller
Zwraca
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
długotrwała operacja (poller), która ostatecznie utworzy AnalyzeResult
beginAnalyzeDocument<Result>(DocumentModel<Result>, FormRecognizerRequestBody, AnalyzeDocumentOptions<Result>)
Wyodrębnianie danych z danych wejściowych przy użyciu modelu, który ma znany, silnie typowany schemat dokumentu (DocumentModel).
Pola utworzone w AnalyzeResult
zależą od modelu używanego do analizy. W języku TypeScript typ wyniku dla tego przeciążenia metody jest wnioskowany z typu danych wejściowych DocumentModel
.
Przykłady
Ta metoda obsługuje treść żądań przesyłanych strumieniowo (FormRecognizerRequestBody), takich jak obiekty Node.JS ReadableStream
, Blob
przeglądarki i ArrayBuffer
s. Zawartość treści zostanie przekazana do usługi na potrzeby analizy.
Jeśli podane dane wejściowe są ciągiem, będzie on traktowany jako adres URL do lokalizacji dokumentu do przeanalizowania. Aby uzyskać więcej informacji, zobacz metodę beginAnalyzeDocumentFromUrl. Użycie tej metody jest preferowane w przypadku korzystania z adresów URL, a obsługa adresów URL jest dostępna tylko w tej metodzie w celu zapewnienia zgodności z poprzednimi wersjami.
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>>
Parametry
- model
-
DocumentModel<Result>
DocumentModel reprezentujący model do użycia na potrzeby analizy i oczekiwanego typu danych wyjściowych
- document
- FormRecognizerRequestBody
FormRecognizerRequestBody, które zostaną przekazane wraz z żądaniem
- options
-
AnalyzeDocumentOptions<Result>
opcjonalne ustawienia operacji analizy i narzędzia poller
Zwraca
Promise<AnalysisPoller<Result>>
długotrwała operacja (poller), która ostatecznie utworzy AnalyzeResult
z dokumentami, które mają typ wyniku skojarzony z modelem wejściowym
beginAnalyzeDocumentFromUrl(string, string, AnalyzeDocumentOptions<AnalyzeResult<AnalyzedDocument>>)
Wyodrębnianie danych z danych wejściowych przy użyciu modelu podanego przez jego unikatowy identyfikator.
Ta operacja obsługuje niestandardowe, a także wstępnie utworzone modele. Aby na przykład użyć wstępnie utworzonego modelu faktury, podaj identyfikator modelu "wstępnie utworzoną fakturę" lub użyj prostszego wstępnie utworzonego modelu układu, podaj identyfikator modelu "wstępnie utworzony układ".
Pola utworzone w AnalyzeResult
zależą od modelu używanego do analizy, a wartości w dowolnych wyodrębnionych polach dokumentów zależą od typów dokumentów w modelu (jeśli istnieje) i odpowiadających im schematów pól.
Przykłady
Ta metoda obsługuje wyodrębnianie danych z pliku pod danym adresem URL. Usługa rozpoznawania formularzy podejmie próbę pobrania pliku przy użyciu przesłanego adresu URL, więc adres URL musi być dostępny z publicznego Internetu. Na przykład token SAS może służyć do udzielania dostępu do odczytu do obiektu blob w usłudze Azure Storage, a usługa będzie używać adresu URL zakodowanego sygnaturą dostępu współdzielonego do żądania pliku.
// 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>>>
Parametry
- modelId
-
string
unikatowy identyfikator (nazwa) modelu w ramach zasobu tego klienta
- documentUrl
-
string
adres URL (ciąg) do dokumentu wejściowego dostępnego z publicznego Internetu
opcjonalne ustawienia operacji analizy i narzędzia poller
Zwraca
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
długotrwała operacja (poller), która ostatecznie utworzy AnalyzeResult
beginAnalyzeDocumentFromUrl<Result>(DocumentModel<Result>, string, AnalyzeDocumentOptions<Result>)
Wyodrębnianie danych z danych wejściowych przy użyciu modelu, który ma znany, silnie typowany schemat dokumentu (DocumentModel).
Pola utworzone w AnalyzeResult
zależą od modelu używanego do analizy. W języku TypeScript typ wyniku dla tego przeciążenia metody jest wnioskowany z typu danych wejściowych DocumentModel
.
Przykłady
Ta metoda obsługuje wyodrębnianie danych z pliku pod danym adresem URL. Usługa rozpoznawania formularzy podejmie próbę pobrania pliku przy użyciu przesłanego adresu URL, więc adres URL musi być dostępny z publicznego Internetu. Na przykład token SAS może służyć do udzielania dostępu do odczytu do obiektu blob w usłudze Azure Storage, a usługa będzie używać adresu URL zakodowanego sygnaturą dostępu współdzielonego do żądania pliku.
// 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>>
Parametry
- model
-
DocumentModel<Result>
DocumentModel reprezentujący model do użycia na potrzeby analizy i oczekiwanego typu danych wyjściowych
- documentUrl
-
string
adres URL (ciąg) do dokumentu wejściowego dostępnego z publicznego Internetu
- options
-
AnalyzeDocumentOptions<Result>
opcjonalne ustawienia operacji analizy i narzędzia poller
Zwraca
Promise<AnalysisPoller<Result>>
długotrwała operacja (poller), która ostatecznie utworzy AnalyzeResult
beginClassifyDocument(string, FormRecognizerRequestBody, ClassifyDocumentOptions)
Klasyfikowanie dokumentu przy użyciu klasyfikatora niestandardowego podanego przez jego identyfikator.
Ta metoda tworzy długotrwałą operację (poller), która ostatecznie utworzy AnalyzeResult
. Jest to ten sam typ co beginAnalyzeDocument
i beginAnalyzeDocumentFromUrl
, ale wynik będzie zawierać tylko niewielki podzbiór jego pól. Zostanie wypełnione tylko pole documents
i pole pages
, a zostaną zwrócone tylko minimalne informacje o stronie. Pole documents
będzie zawierać informacje o wszystkich zidentyfikowanych dokumentach i docType
, które zostały sklasyfikowane jako.
Przykład
Ta metoda obsługuje treść żądań przesyłanych strumieniowo (FormRecognizerRequestBody), takich jak obiekty Node.JS ReadableStream
, Blob
przeglądarki i ArrayBuffer
s. Zawartość treści zostanie przekazana do usługi na potrzeby analizy.
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>>>
Parametry
- classifierId
-
string
identyfikator klasyfikatora niestandardowego do użycia do analizy
- document
- FormRecognizerRequestBody
dokument do klasyfikowania
- options
- ClassifyDocumentOptions
opcje operacji klasyfikacji
Zwraca
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>
długotrwała operacja (poller), która ostatecznie utworzy AnalyzeResult
beginClassifyDocumentFromUrl(string, string, ClassifyDocumentOptions)
Klasyfikowanie dokumentu z adresu URL przy użyciu klasyfikatora niestandardowego podanego przez jego identyfikator.
Ta metoda tworzy długotrwałą operację (poller), która ostatecznie utworzy AnalyzeResult
. Jest to ten sam typ co beginAnalyzeDocument
i beginAnalyzeDocumentFromUrl
, ale wynik będzie zawierać tylko niewielki podzbiór jego pól. Zostanie wypełnione tylko pole documents
i pole pages
, a zostaną zwrócone tylko minimalne informacje o stronie. Pole documents
będzie zawierać informacje o wszystkich zidentyfikowanych dokumentach i docType
, które zostały sklasyfikowane jako.
Przykład
Ta metoda obsługuje wyodrębnianie danych z pliku pod danym adresem URL. Usługa rozpoznawania formularzy podejmie próbę pobrania pliku przy użyciu przesłanego adresu URL, więc adres URL musi być dostępny z publicznego Internetu. Na przykład token SAS może służyć do udzielania dostępu do odczytu do obiektu blob w usłudze Azure Storage, a usługa będzie używać adresu URL zakodowanego sygnaturą dostępu współdzielonego do żądania pliku.
// 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>>>
Parametry
- classifierId
-
string
identyfikator klasyfikatora niestandardowego do użycia do analizy
- documentUrl
-
string
adres URL dokumentu do klasyfikowania
- options
- ClassifyDocumentOptions
Zwraca
Promise<AnalysisPoller<AnalyzeResult<AnalyzedDocument>>>