From d7974867cc4c31ceea41143090d9344e052d60b8 Mon Sep 17 00:00:00 2001 From: Research Assistant Date: Sun, 7 Jun 2026 22:31:05 +0800 Subject: [PATCH] fix: prevent frontmatter_noise rescue in page footer zone --- paperforge/worker/ocr_document.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/paperforge/worker/ocr_document.py b/paperforge/worker/ocr_document.py index 6894c939..eaf10c8f 100644 --- a/paperforge/worker/ocr_document.py +++ b/paperforge/worker/ocr_document.py @@ -1164,6 +1164,10 @@ def rescue_roles_with_document_context( # --- Rule 1: frontmatter_noise → body_paragraph (body section + body font) if block.get("role") == "frontmatter_noise": page = block.get("page", 1) or 1 + bbox = block.get("bbox") or block.get("block_bbox") or [0, 0, 0, 0] + page_h = block.get("page_height") or 1700 + if len(bbox) >= 4 and bbox[1] > page_h * 0.85: + continue if body_end_page is not None and page <= body_end_page: bp = extract_block_span_profile(block) if bp: