表格识别
概述
表格识别重建版面分析期间检测到的表格的内部结构,包括行、列、合并单元格和单元格边界,以便转换后的文档保留原始的表格语义,而不是生成扁平的文本片段网格。
它由独立选项 enableAITableRecognition 控制,该选项默认启用。表格模型仅对版面分析报告的检测置信度低于可信阈值的表格区域调用;高置信度的原生 PDF 表格绕过模型以节省推理时间。
受益于表格识别的典型场景:
- 无边框或部分边框的表格,仅靠边框线无法描述其结构。
- 具有合并表头单元格、多行表头或跨单元格的表格,如财务报表、实验报告和发票。
- 通过 OCR 处理的扫描表格,在单元格级数据提取之前需要进行几何重建。
支持表格识别的功能:
- PDF 转 Word
- PDF 转 Excel
- PDF 转 PowerPoint (PPT)
- PDF 转 HTML
- PDF 转 RTF
- PDF 转 CSV
- PDF 转 JSON
- PDF 转 Markdown
注意事项
- 表格识别仅在版面分析处于活动状态时运行(即启用了
enableAILayout,或隐式地当启用了enableOCR时)。 - 在使用表格识别之前,需要加载 DocumentAI 模型,或通过 3.11 通过回调使用自定义 AI 模型 中描述的回调插入自己的表格模型。
- 禁用
enableAITableRecognition会完全关闭表格模型;检测到的表格区域将回退到基于底层页面对象的几何重建。
示例
此示例演示了如何在启用表格识别的情况下将 PDF 转换为 Word 文档。
objective-c
[LibraryManager setDocumentAIModel:@"path/documentai_v4.model"];
WordOptions *options = [[WordOptions alloc] init];
options.enableAILayout = YES;
options.enableAITableRecognition = YES; // 在 4.1 中默认启用
[CPDFConversion startPDFToWord:@"input.pdf" password:@"password" outputPath:@"path/output.docx" options:options];