表格识别
概述
表格识别重建版面分析期间检测到的表格的内部结构,包括行、列、合并单元格和单元格边界,使转换后的文档保留原始表格语义,而非生成扁平的文本片段网格。
它由独立选项 enable_ai_table_recognition 控制,本指南辅助函数中默认启用。表格模型对版面分析检测到的表格区域进行调用。
受益于表格识别的典型场景:
- 无边框或部分边框的表格。
- 具有合并表头单元格、多行表头或跨单元格的表格。
- 通过 OCR 处理的扫描表格。
支持表格识别的功能:
- PDF 转 Word
- PDF 转 Excel
- PDF 转 PowerPoint
- PDF 转 HTML
- PDF 转 RTF
- PDF 转 CSV
- PDF 转 JSON
- PDF 转 Markdown
注意事项
- 表格识别仅在版面分析处于活动状态时运行,即设置了
enable_ai_layout = true或隐式通过enable_ocr = true。 - 使用表格识别之前需要先加载 DocumentAI 模型,或通过下文"自定义 AI 回调"章节中描述的回调插入自己的表格模型。
- 设置
enable_ai_table_recognition = false可禁用表格模型。 - 表格识别模型实例数可通过
CPDF_SetDocumentAIModelCount的第二个参数调整。
示例
c
CPDF_SetDocumentAIModel(CPDF_TEXT("path/documentai.model"), -1);
CConvertOption option = CPDF_DefaultConvertOption();
option.enable_ai_layout = true;
option.enable_ai_table_recognition = true;
CPDF_StartPDFToWord(CPDF_TEXT("word.pdf"), CPDF_TEXT("password"), CPDF_TEXT("path/output.docx"), option, NULL);