表格识别
概述
表格识别重建版面分析检测到的表格内部结构,包括行、列、合并单元格和单元格边界,使转换后的文档保留原始表格语义,而不是产生扁平的文本片段网格。
它由独立选项 enableAiTableRecognition 控制,该选项在 ConvertOption 上暴露。表格模型仅对版面分析报告的、检测置信度低于可信阈值的表格区域调用;高置信度的原生 PDF 表格会绕过模型以节省推理时间。
受益于表格识别的典型场景:
- 无边框或部分边框的表格,仅靠框线无法描述结构。
- 具有合并表头单元格、多行表头或跨列单元格的表格,如财务报表、实验报告和发票。
- 经 OCR 处理的扫描表格,在单元格级数据提取前需要几何重建。
支持表格识别的功能:
- PDF 转 Word
- PDF 转 Excel
- PDF 转 PowerPoint (PPT)
- PDF 转 HTML
- PDF 转 RTF
- PDF 转 CSV
- 提取 PDF 为 JSON
- 提取 PDF 为 Markdown
注意事项
- 表格识别仅在版面分析活跃时运行(即
enableAiLayout = true,或隐式地当enableOcr = true时)。 - DocumentAI 模型由
LibraryManager::initialize从resource/models/documentai.model加载。 - 设置
enableAiTableRecognition = false会完全禁用表格模型;检测到的表格区域随后会回退到基于底层页面对象的几何重建。
示例
本示例演示如何开启表格识别将 PDF 转换为 DOCX 文件。
php
$option = new ConvertOption();
// 必须开启版面分析,表格识别才能生效。
$option->enableAiLayout = true;
// 开启 AI 表格识别(设置为 false 可禁用)。
$option->enableAiTableRecognition = true;
Conversion::convert('Word', 'word.pdf', 'password', 'output.docx', $option);