From 83dd31f7dc49b57fc681c30a5ce7014fa29d03c3 Mon Sep 17 00:00:00 2001 From: Jeremy Singer-Vine Date: Sat, 8 May 2021 17:42:12 -0400 Subject: [PATCH] Add test for extract_table(s) re. text extraction --- tests/pdfs/senate-expenditures.pdf | Bin 0 -> 53481 bytes tests/test_table.py | 45 +++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 tests/pdfs/senate-expenditures.pdf diff --git a/tests/pdfs/senate-expenditures.pdf b/tests/pdfs/senate-expenditures.pdf new file mode 100644 index 0000000000000000000000000000000000000000..246fa57c9a120f6c2c99070d32ceeefcb8f00b2d GIT binary patch literal 53481 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%0AZc>O9PmDvS1 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 literal 0 HcmV?d00001 diff --git a/tests/test_table.py b/tests/test_table.py index 6206a5c..3e64a58 100644 --- a/tests/test_table.py +++ b/tests/test_table.py @@ -81,6 +81,51 @@ class Test(unittest.TestCase): ) assert tf.tables[0].extract() + def test_text_tolerance(self): + path = os.path.join(HERE, "pdfs/senate-expenditures.pdf") + with pdfplumber.open(path) as pdf: + bbox = (70.332, 130.986, 420, 509.106) + cropped = pdf.pages[0].crop(bbox) + t = cropped.extract_table( + { + "horizontal_strategy": "text", + "vertical_strategy": "text", + "min_words_vertical": 20, + } + ) + t_tol = cropped.extract_table( + { + "horizontal_strategy": "text", + "vertical_strategy": "text", + "min_words_vertical": 20, + "text_x_tolerance": 1, + } + ) + t_tol_from_tables = cropped.extract_tables( + { + "horizontal_strategy": "text", + "vertical_strategy": "text", + "min_words_vertical": 20, + "text_x_tolerance": 1, + } + )[0] + + assert t[-1] == [ + "DHAW20190070", + "09/09/2019", + "CITIBANK-TRAVELCBACARD", + "08/12/2019", + "08/14/2019", + ] + assert t_tol[-1] == [ + "DHAW20190070", + "09/09/2019", + "CITIBANK - TRAVEL CBA CARD", + "08/12/2019", + "08/14/2019", + ] + assert t_tol[-1] == t_tol_from_tables[-1] + def test_text_without_words(self): assert table.words_to_edges_h([]) == [] assert table.words_to_edges_v([]) == []