Skip to content

表格识别

概述

表格识别重建版面分析期间检测到的表格的内部结构,包括行、列、合并单元格和单元格边界,使转换后的文档保留原始表格语义,而非生成扁平的文本片段网格。

它由独立选项 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);