 REST API 版本 2023-07-31 (GA)
 REST API 版本 2023-07-31 (GA)
Azure AI 文档智能是一种云服务,它使用机器学习从文档中分析文本和结构化数据。 文档智能软件开发工具包 (SDK) 是一组库和工具,可用于轻松地将文档智能模型和功能集成到应用程序中。 文档智能 SDK 可用于采用 C#/.NET、Java、JavaScript 和 Python 编程语言的平台。
支持的编程语言
文档智能 SDK 支持以下语言和平台:
有关其他 SDK 版本的详细信息,请参阅:
支持的客户端
下表显示了每个 SDK 版本与支持的文档智能服务 API 版本之间的相关性。
| 语言 | SDK 版本 | API 版本(默认) | 支持的客户端 | 
| .NET/C# 4.1.0 | v3.1 最新 (GA) | 2023-07-31 | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| .NET/C# 4.0.0 | v3.0 (GA) | 2022-08-31 | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| .NET/C# 3.1.x | v2.1 | v2.1 | FormRecognizerClient FormTrainingClient
 | 
| .NET/C# 3.0.x | v2.0 | v2.0 | FormRecognizerClient FormTrainingClient
 | 
| 语言 | SDK 版本 | API 版本 | 支持的客户端 | 
| Java 4.1.0 | v3.1 最新 (GA) | 2023-07-31(默认) | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| Java 4.0.0 
 | v3.0 (GA) | 2022-08-31 | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| Java 3.1.x | v2.1 | v2.1 | FormRecognizerClient FormTrainingClient
 | 
| Java 3.0.x | v2.0 | v2.0 | FormRecognizerClient FormTrainingClient
 | 
| 语言 | SDK 版本 | API 版本(默认) | 支持的客户端 | 
| JavaScript 5.0.0 | v3.1 最新 (GA) | 2023-07-31(默认) | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| JavaScript 4.0.0 
 | v3.0 (GA) | 2022-08-31 | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| JavaScript 3.1.x 
 | v2.1 | v2.1 | FormRecognizerClient FormTrainingClient
 | 
| JavaScript 3.0.x 
 | v2.0 | v2.0 | FormRecognizerClient FormTrainingClient
 | 
| 语言 | SDK 版本 | API 版本(默认) | 支持的客户端 | 
| Python 3.3.0 | v3.1 (最新 (GA) | 2023-07-31(默认) | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| Python 3.2.x | v3.0 (GA) | 2022-08-31 | DocumentAnalysisClient DocumentModelAdministrationClient
 | 
| Python 3.1.x | v2.1 | v2.1 | FormRecognizerClient FormTrainingClient
 | 
| Python 3.0.0 | v2.0 | v2.0 | FormRecognizerClient FormTrainingClient
 | 
 
在应用程序中使用文档智能 SDK
借助文档智能 SDK,可以在应用程序中使用和管理文档智能服务。 SDK 基于底层文档智能 REST API,允许在编程语言范例中轻松使用这些 API。 以下介绍如何为首选语言使用文档智能 SDK:
1. 安装 SDK 客户端库
dotnet add package Azure.AI.FormRecognizer --version 4.1.0
Install-Package Azure.AI.FormRecognizer -Version 4.1.0
  <dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-ai-formrecognizer</artifactId>
  <version>4.1.0</version>
  </dependency>
implementation("com.azure:azure-ai-formrecognizer:4.1.0")
npm i @azure/ai-form-recognizer@5.0.0
pip install azure-ai-formrecognizer==3.3.0
 
2. 将 SDK 客户端库导入应用程序
using Azure;
using Azure.AI.FormRecognizer.DocumentAnalysis;
import com.azure.ai.formrecognizer.*;
import com.azure.ai.formrecognizer.models.*;
import com.azure.ai.formrecognizer.DocumentAnalysisClient.*;
import com.azure.core.credential.AzureKeyCredential;
const { AzureKeyCredential, DocumentAnalysisClient } = require("@azure/ai-form-recognizer");
from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential
 
3. 设置身份验证
可以使用两种受支持的身份验证方法:
使用 API 密钥
以下是在 Azure 门户中查找文档智能 API 密钥的位置:
 
//set `<your-endpoint>` and `<your-key>` variables with the values from the Azure portal to create your `AzureKeyCredential` and `DocumentAnalysisClient` instance
string key = "<your-key>";
string endpoint = "<your-endpoint>";
AzureKeyCredential credential = new AzureKeyCredential(key);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);
// create your `DocumentAnalysisClient` instance and `AzureKeyCredential` variable
DocumentAnalysisClient client = new DocumentAnalysisClientBuilder()
            .credential(new AzureKeyCredential("<your-key>"))
            .endpoint("<your-endpoint>")
            .buildClient();
// create your `DocumentAnalysisClient` instance and `AzureKeyCredential` variable
async function main() {
    const client = new DocumentAnalysisClient("<your-endpoint>", new AzureKeyCredential("<your-key>"));
# create your `DocumentAnalysisClient` instance and `AzureKeyCredential` variable
    document_analysis_client = DocumentAnalysisClient(endpoint="<your-endpoint>", credential=AzureKeyCredential("<your-key>"))
 
使用 Microsoft Entra 令牌凭据
注意
区域终结点不支持 Microsoft Entra 身份验证。 为资源创建自定义子域,以使用此类身份验证。
 
使用 DefaultAzureCredential 是进行授权的最简单方式。 它根据运行环境提供默认令牌凭据,可处理大多数 Azure 身份验证方案。
以下是为 .NET 应用程序获取和使用 DefaultAzureCredential 的方法:
- 安装适用于 .NET 的 Azure 标识库: -     dotnet add package Azure.Identity
 -     Install-Package Azure.Identity
 
- 注册 Microsoft Entra 应用程序并创建新的服务主体。 
- 通过将 - Cognitive Services User角色分配给服务主体来授予文档智能访问权限。
 
- 将 Microsoft Entra 应用程序中的客户端 ID、租户 ID 和客户端机密值分别设置为环境变量:- AZURE_CLIENT_ID、- AZURE_TENANT_ID和- AZURE_CLIENT_SECRET。
 
- 创建 - DocumentAnalysisClient实例,包括- DefaultAzureCredential:
 - string endpoint = "<your-endpoint>";
var client = new DocumentAnalysisClient(new Uri(endpoint), new DefaultAzureCredential());
 
有关详细信息,请参阅对客户端进行身份验证。
以下是为 Java 应用程序获取和使用 DefaultAzureCredential 的方法:
- 安装适用于 Java 的 Azure 标识库: - <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.5.3</version>
</dependency>
 
- 注册 Microsoft Entra 应用程序并创建新的服务主体。 
- 通过将 - Cognitive Services User角色分配给服务主体来授予文档智能访问权限。
 
- 将 Microsoft Entra 应用程序的客户端 ID、租户 ID 和客户端机密值分别设置为环境变量:- AZURE_CLIENT_ID、- AZURE_TENANT_ID和- AZURE_CLIENT_SECRET。
 
- 创建 - DocumentAnalysisClient实例和- TokenCredential变量:
 - TokenCredential credential = new DefaultAzureCredentialBuilder().build();
DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder()
    .endpoint("{your-endpoint}")
    .credential(credential)
    .buildClient();
 
有关详细信息,请参阅对客户端进行身份验证。
以下是为 JavaScript 应用程序获取和使用 DefaultAzureCredential 的方法:
- 安装适用于 JavaScript 的 Azure 标识库: - npm install @azure/identity
 
- 注册 Microsoft Entra 应用程序并创建新的服务主体。 
- 通过将 - Cognitive Services User角色分配给服务主体来授予文档智能访问权限。
 
- 将 Microsoft Entra 应用程序的客户端 ID、租户 ID 和客户端机密值分别设置为环境变量:- AZURE_CLIENT_ID、- AZURE_TENANT_ID和- AZURE_CLIENT_SECRET。
 
- 创建 - DocumentAnalysisClient实例,包括- DefaultAzureCredential:
 - const { DocumentAnalysisClient } = require("@azure/ai-form-recognizer");
const { DefaultAzureCredential } = require("@azure/identity");
const client = new DocumentAnalysisClient("<your-endpoint>", new DefaultAzureCredential());
 
有关详细信息,请参阅创建客户端并对其进行身份验证。
以下是为 Python 应用程序获取和使用 DefaultAzureCredential 的方法。
- 安装适用于 Python 的 Azure 标识库: - pip install azure-identity
 
- 注册 Microsoft Entra 应用程序并创建新的服务主体。 
- 通过将 - Cognitive Services User角色分配给服务主体来授予文档智能访问权限。
 
- 将 Microsoft Entra 应用程序的客户端 ID、租户 ID 和客户端机密值分别设置为环境变量:- AZURE_CLIENT_ID、- AZURE_TENANT_ID和- AZURE_CLIENT_SECRET。
 
- 创建 - DocumentAnalysisClient实例,包括- DefaultAzureCredential:
 - from azure.identity import DefaultAzureCredential
from azure.ai.formrecognizer import DocumentAnalysisClient
credential = DefaultAzureCredential()
document_analysis_client = DocumentAnalysisClient(
    endpoint="https://<my-custom-subdomain>.cognitiveservices.azure.cn/",
    credential=credential
)
 
有关详细信息,请参阅对客户端进行身份验证。
 
4. 生成应用程序
创建客户端对象以与文档智能 SDK 交互,然后调用该客户端对象上的方法来与服务交互。 SDK 提供同步和异步方法。 有关详细信息,请使用所选语言尝试快速入门。
帮助选项
Microsoft Q&A 和 Stack Overflow 论坛可供开发人员社区使用,他们可以提出和回答有关 Azure AI 文档智能和其他服务的问题。 Microsoft 会监视论坛并回复社区尚未回答的问题。 为确保我们看到你的问题,请将其标记为 azure-form-recognizer。
后续步骤