From 51b8c57df2a89c1f6b0a8fc819c8a84bd53b8a67 Mon Sep 17 00:00:00 2001 From: pangguosheng Date: Thu, 19 Dec 2024 00:35:44 +0800 Subject: [PATCH 1/2] fix: skip the char corresponding to invalid bounding boxes --- magic_pdf/pdf_parse_union_core_v2.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/magic_pdf/pdf_parse_union_core_v2.py b/magic_pdf/pdf_parse_union_core_v2.py index 29ca1351..74d93b81 100644 --- a/magic_pdf/pdf_parse_union_core_v2.py +++ b/magic_pdf/pdf_parse_union_core_v2.py @@ -108,6 +108,10 @@ def fill_char_in_spans(spans, all_chars): spans = sorted(spans, key=lambda x: x['bbox'][1]) for char in all_chars: + # 跳过非法bbox的char + x1, y1, x2, y2 = char['bbox'] + if abs(x1 - x2) <= 0.01 or abs(y1 - y2) <= 0.01: + continue for span in spans: if calculate_char_in_span(char['bbox'], span['bbox'], char['c']): span['chars'].append(char) From 1e6de549a8ff58d13e55860d4d161dbe3f4dc2b2 Mon Sep 17 00:00:00 2001 From: pangguosheng Date: Thu, 19 Dec 2024 01:10:59 +0800 Subject: [PATCH 2/2] fix: drop reason append error --- magic_pdf/pre_proc/remove_bbox_overlap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/magic_pdf/pre_proc/remove_bbox_overlap.py b/magic_pdf/pre_proc/remove_bbox_overlap.py index 71a05721..35f96a10 100644 --- a/magic_pdf/pre_proc/remove_bbox_overlap.py +++ b/magic_pdf/pre_proc/remove_bbox_overlap.py @@ -70,7 +70,7 @@ def _remove_overlap_between_bboxes(arr): res[i] = None else: keeps[idx] = False - drop_reasons.append(drop_reasons) + drop_reasons.append(drop_reason) if keeps[idx]: res[idx] = v return res, drop_reasons