首页/AI/RAG 与向量库速查/多栏 PDF 的阅读顺序处理
本包目录(229 条)

多栏 PDF 的阅读顺序处理

论文与手册常见双栏排版,直接按文本流读取会左右栏交错;需要按坐标分栏排序,或交给版面分析工具输出阅读顺序,否则切片语义在源头就被破坏。

RAG 与向量库速查AI更新于 2026-10-12

按坐标简易分栏

按坐标简易分栏
import fitz

page = fitz.open("paper.pdf")[0]
blocks = page.get_text("blocks")        # (x0, y0, x1, y1, text, ...)
mid = page.rect.width / 2
left  = sorted([b for b in blocks if b[2] <= mid + 5], key=lambda b: b[1])
right = sorted([b for b in blocks if b[0] >= mid - 5], key=lambda b: b[1])
for b in left + right:
    print(b[4][:60])
简易坐标分栏对跨栏标题、整宽图表会误判;生产建议用版面分析模型输出阅读顺序,再人工抽检。

易错点

  • 不分栏直接抽取,左右两栏文字交错成句,语义被破坏
  • 跨栏元素(大标题、整宽表格)要单独处理,纯按 x 坐标分栏会漏

数据来源与参考

  • PyMuPDF 官方文档(文本块与坐标)
  • MinerU 官方文档(版面阅读顺序)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌