ARTICLE · 1312336
应对 PDF 和 Word 解析中的疑难杂症,你可以试试这个服务
大家好,今天介绍一款我在项目中使用的文档解析服务——Azure Document Intelligence。
做过文档解析的朋友,应该都遇到过这些问题:扫描件提取不到文字,多栏排版读乱顺序,表格中的数据无法正确对应。
Azure Document Intelligence 将 OCR 与布局分析结合起来,提取文档中的文字、段落和表格结构。它是微软 Azure 上的云服务,前身叫 Azure Form Recognizer(表单识别器),可以通过 API 或 SDK 调用。
在笔者尝试过的文档解析服务中,它是目前的个人首选。下面重点介绍模型选择、.NET 接入和使用成本。
服务中有哪些模型
Azure Document Intelligence 是服务名称,Layout 是其中的一个模型。
按官方 v4.0(API 版本 2024-11-30)总览表条目统计,包含 2 个通用文档分析模型、22 个行业预构建模型或模型组,以及自定义模型。部分模型组还包含子模型。
prebuilt-read | ||
prebuilt-layout | ||
只需要文字,可以选择 Read;还需要表格和布局结构,重点看 Layout。
Layout 能解析什么
Layout 的调用名称是 prebuilt-layout,主要提供以下能力:
它支持输出 Markdown,方便阅读或继续交给大模型处理。v4.0 的 Markdown 输出中,表格使用 HTML 表示,以保留合并单元格和多行表头等结构。
Layout 支持 PDF 和 Word 的 .docx 格式,旧版 .doc 需要先转换。需要注意:DOCX 中的文本可以提取,但嵌入图片不会被分析。
使用 .NET SDK
先在 Azure Portal 创建 Document Intelligence 资源,获取 Endpoint 和 Key。
本文使用 Azure.AI.DocumentIntelligence1.0.0:
dotnet add package Azure.AI.DocumentIntelligence --version 1.0.0案例
我们通过一个简单解析来看一下效果:
费用
以日本东部区域的美元按量付费价格为例:
使用 Layout,解析 100 页约 1 美元,解析 1,000 页约 10 美元。 文字识别已包含在内,后续调用大模型的费用另算。
测试可以使用 F0 免费层,每月 500 页免费额度,但每次分析最多处理前两页。
PDF 按实际分析页数计费;Word 每 3,000 个字符折算一页,不足部分也计一页。实际费用以微软官方价格页和订阅账单为准。
源代码地址
https://github.com/bingbing-gui/dotnet-agent-playbook/tree/master/src/aspnet-core-samples/DocumentIntelligence.LocalDemo















































































