PDF 表格重建 + 多模态 OCR:让大模型真正看懂文档(RAG 进阶实战)
前言
人和模型看到的不是同一篇 PDF:你看到排版,模型拿到的是顺序错乱的提取文本------表格散架、扫描件无字。这篇讲我平台的解法:表格靠坐标重建(五步),扫描件靠多模态 OCR 兜底(Markdown 保结构),管线自动分诊。附跨页合并的保守原则,全部真实工程。
一、PDF 的两种病
- 结构病:文字提出来了,表格散架------PDF 内部存的是"坐标上有什么字",不是"这是张表格";
- 无字病 :扫描件/图片型 PDF 没有文字层;加密、子集字体的 PDF 提出来是
&,9、??????天书。
二、表格重建五步(坐标流)
- 提取坐标:每个字符带横纵位置;
- 聚类成行:纵向位置相近的归一行;
- 切开成列:横向空隙即列边界;
- 判定成表:连续多行 + 列数一致 + 列数达标才算表;
- 识别表头:加粗 > 首行 > 字号差异;表头被隔断时向上回溯补回(真实案例:列头与数据间隔了一行小计)。
重建输出的表格带元数据(页码、表头、列位置),供下一步跨页合并用。
三、跨页合并:宁可漏合,不可错并
| 判定项 | 规则 |
|---|---|
| 同表判定 | 相邻页 + 列数相同 + 每列横向位置差 < 阈值 |
| 重复表头 | 第二页开头与表头内容一致 → 剔除 |
| 页码溯源 | 合并后标注页码范围,查数报来源 |
| 保守原则 | 宁可漏合,不可错并------错并毁数据,漏合只损完整性 |
四、无字病:多模态 OCR 兜底
- 不装传统 OCR 引擎,直接复用平台已配置的多模态对话模型当"眼睛",少养一套组件;
- 提示词要求 Markdown 表格输出(含表头行与分隔行)------扫描件里的表格认出来仍带结构;
- 未配置多模态时优雅降级:OCR 环节安静跳过 + 记警告,主流程不挂。
五、自动分诊
提取文本先"体检":空文本、或中文占比低于阈值且含乱码特征串(PDF 提取加密/子集字体时的典型天书)→ 判乱码转 OCR;正常 → 走结构重建。整条链路自动分流,不靠人工挑。
总结
口诀:有字重建表格(坐标流五步),无字请多模态当眼(Markdown 保结构);跨页合并宁漏勿错,分诊自动降级不拦路。
下一篇专讲重灾区:扫描件和乱码 PDF 怎么进知识库------OCR 兜底管线详解。
你的 PDF 入库踩过哪种病?评论区聊聊。