Skip to content

使用 Azure AI Document Intelligence Java SDK 实现文档自动化分析

解决非结构化文档数据提取难题:通过集成 Azure AI Document Intelligence SDK,让 Java 应用能够自动从 PDF、图片等文档中精准提取文本、表格、键值对以及特定业务单据(如发票、收据)中的关键信息。

为什么需要这个技能

在处理企业级文档时,手动录入数据效率极低且易出错。传统的 OCR 只能识别文字,无法理解文档结构。

Azure AI Document Intelligence 提供了预训练模型和自定义模型,不仅能识别文字,还能识别表格结构、勾选框,甚至能直接将发票中的“总金额”或收据中的“商户名称”提取为结构化数据。通过 Java SDK,开发者可以将这种强大的 AI 能力快速集成到后台业务系统中,实现自动化报销、合同审核等功能。

适用场景

  • 财务自动化:自动解析发票(Invoice)和收据(Receipt)中的金额、日期和商户信息。
  • 表单数字化:将纸质申请表、身份证、护照等 ID 文档转化为数据库记录。
  • 通用文档解析:从复杂的 PDF 报告中提取表格数据或分析文档布局(Layout)。
  • 自定义分类:训练 AI 自动区分上传的文件是合同、发票还是简历。

核心工作流

1. 环境准备与客户端创建

首先在 pom.xml 中引入依赖,并使用 API Key 和 Endpoint 初始化客户端。

xml
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-ai-formrecognizer</artifactId>
    <version>4.2.0-beta.1</version>
</dependency>
java
DocumentAnalysisClient client = new DocumentAnalysisClientBuilder()
    .credential(new AzureKeyCredential("{key}"))
    .endpoint("{endpoint}")
    .buildClient();

2. 使用预置模型提取数据

针对不同场景选择对应的 Model ID(如 prebuilt-invoice 用于发票,prebuilt-layout 用于通用布局)。

java
// 以分析 URL 形式的发票为例
SyncPoller<OperationResult, AnalyzeResult> poller = 
    client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", documentUrl);

AnalyzeResult result = poller.getFinalResult();

// 提取发票中的特定字段
for (AnalyzedDocument doc : result.getDocuments()) {
    DocumentField merchantName = doc.getFields().get("MerchantName");
    System.out.printf("商户: %s (置信度: %.2f)%n", 
        merchantName.getValueAsString(), merchantName.getConfidence());
}

3. 构建自定义模型与分类器

当预置模型无法满足特定业务格式时,可通过 DocumentModelAdministrationClient 上传样本数据训练自定义模型,或构建文档分类器(Classifier)来自动识别文档类型。

下载和安装

下载 azure-ai-formrecognizer-java 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐