From 7254530d2782aaf0b710f798ef91d3b673dcb25f Mon Sep 17 00:00:00 2001 From: Jake Stockwin Date: Sat, 9 May 2020 14:37:49 +0100 Subject: [PATCH] Fix ordering of textlines within a textbox when boxes_flow is disabled (#412) * Fix ordering of textlines within a textbox when boxes_flow is disabled * Add new test PDF sample --- CHANGELOG.md | 2 + pdfminer/layout.py | 3 ++ samples/simple4.pdf | Bin 0 -> 33297 bytes tests/test_highlevel_extracttext.py | 64 +++++++++++++++++++++++++--- 4 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 samples/simple4.pdf diff --git a/CHANGELOG.md b/CHANGELOG.md index b4c8d3f..fc6bcbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - Python3 shebang line to script in tools ([408](https://github.com/pdfminer/pdfminer.six/pull/408) +### Fixed +- Fix ordering of textlines within a textbox when `boxes_flow=None` ([#411](https://github.com/pdfminer/pdfminer.six/issues/411)) ## [20200402] diff --git a/pdfminer/layout.py b/pdfminer/layout.py index cc0c88d..8bce26b 100644 --- a/pdfminer/layout.py +++ b/pdfminer/layout.py @@ -798,6 +798,9 @@ class LTLayoutContainer(LTContainer): obj.analyze(laparams) textboxes = list(self.group_textlines(laparams, textlines)) if laparams.boxes_flow is None: + for textbox in textboxes: + textbox.analyze(laparams) + def getkey(box): if isinstance(box, LTTextBoxVertical): return (0, -box.x1, -box.y0) diff --git a/samples/simple4.pdf b/samples/simple4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..14b6fc5eef447b7d1f1352a7abd2a3c23696a0be GIT binary patch literal 33297 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
a?Jk~VU(q}Lo#smrvK72y}@ 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 iy|FWp@vG5