版面、表格与阅读顺序
本节目标
理解为什么文本全对仍可能“文档不可用”,并为段落、表格和阅读顺序建立结构化表示。
版面不是装饰
两栏论文若按坐标逐行交替拼接,会把左栏第一行接到右栏第一行。页眉页脚若重复进入每页正文,会污染检索。版面分析(layout analysis)先把页面划分为标题、段落、表格、图片、公式等区域,再在区域内排序。
基本排序策略可以从几何规则起步:按栏分组,再按 top 排序。但跨栏标题、侧边注和竖排文字会破坏简单规则。工程上应保留:
block_id、block_type和坐标;order或显式的next_block_id;- 页眉页脚标记,而不是直接删除;
- 生成排序的方法与版本。
表格是二维结构
把表格仅转为制表符文本会丢失合并单元格和表头层级。建议输出:表格边界、行列数量、每个单元格坐标、row_span/col_span、单元格文本与来源框。表格评测至少分三层:
- 表格区域是否被找到;
- 行列与合并关系是否正确;
- 单元格文字是否正确。
“结构正确但一个金额错”和“文字全对但列错位”是不同故障,修复路径也不同。
表格进入检索前仍是结构
面向 RAG 或抽取 Agent 时,先保存表格 JSON(表、行、列、单元格、span、表头路径与坐标),再按问题把相关单元格渲染为文本/Markdown。若先把整表压平为一段文本再切分,行列归属、单位和表头很容易被错误拼接;每个检索片段还应能回到 page 与 cell ID。
处理顺序
页面 -> 版面区域 -> 区域内文字/表格识别 -> 阅读顺序 -> Markdown/JSON 导出PaddleOCR 官方 PP-StructureV3 文档展示了布局块、阅读顺序和表格结果等输出字段;字段会随版本变化,因此应在适配层转成自己的稳定契约。
练习与自测
- 画一个“两栏正文 + 跨栏标题 + 页脚”的块图并给出顺序。
- 对 2×3 表格设计一个含横向合并单元格的 JSON。
- 如果导出的 Markdown 看似正常,是否可删除坐标?不可以;坐标是回溯证据与纠错入口。
下一步与参考
下一步学习 语言后处理与置信度。参考 PaddleOCR PP-StructureV3 官方文档 与 Layout Detection 官方文档(latest/version3.x,获取日期:2026-07-22)。