按坐标简易分栏
按坐标简易分栏
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])简易坐标分栏对跨栏标题、整宽图表会误判;生产建议用版面分析模型输出阅读顺序,再人工抽检。