From 39f1feaccb39cd10a8909cfc2edd1619e7961865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=A0=E5=B8=86?= Date: Fri, 19 Apr 2024 08:44:51 +0800 Subject: [PATCH] Bug fix pdf parse index out of range (#440) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What problem does this PR solve? fix a bug comes when parse some pdf file #436 ### Type of change - [☑️ ] Bug Fix (non-breaking change which fixes an issue) --- deepdoc/parser/pdf_parser.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/deepdoc/parser/pdf_parser.py b/deepdoc/parser/pdf_parser.py index c9a200374..b3528581c 100644 --- a/deepdoc/parser/pdf_parser.py +++ b/deepdoc/parser/pdf_parser.py @@ -830,10 +830,13 @@ class HuParser: pn = [bx["page_number"]] top = bx["top"] - self.page_cum_height[pn[0] - 1] bott = bx["bottom"] - self.page_cum_height[pn[0] - 1] - if pn[-1] - 1 >= len(self.page_images): return "" + page_images_cnt = len(self.page_images) + if pn[-1] - 1 >= page_images_cnt: return "" while bott * ZM > self.page_images[pn[-1] - 1].size[1]: bott -= self.page_images[pn[-1] - 1].size[1] / ZM pn.append(pn[-1] + 1) + if pn[-1] - 1 >= page_images_cnt: + return "" return "@@{}\t{:.1f}\t{:.1f}\t{:.1f}\t{:.1f}##" \ .format("-".join([str(p) for p in pn]),