I try to extract the table text of a PDF: With the following code code i get: page 0 of page-1-ocr.pdf Tables rowsasf 49 texysdft [['', '', 'Staatlic', 'he Fische', 'rprüfung', 'in Bayern - Prü', 'fungsfrage', 'n 2023/2024', ''], ['', '', '', '', '', '', '', '', ''], ['Sortierung', 'Richtige', 'Frage', '', 'Antwort A', '', 'Antwort B', '', 'Antwort C'], ['', '', '', '', '', '', '', '', ''], ['', 'Antwort', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.001', 'C', 'Welche ist die artenreic', 'hste', 'die Gruppe de', 'r Lachsartigen', 'die Gruppe der', 'Barschartigen', 'die Gruppe de'], ['', '', '', '', '', '', '', '', ''], ['', '', 'Gruppe der einheimisch', 'en', '(Salmoniden)', '', '(Perciden)', '', '(Cypriniden)'], ['', '', '', '', '', '', '', '', ''], ['', '', 'Süßwasserfische?', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.002', 'A', 'Welche Aussage ist rich', 'tig?', 'Der Sterlet ge', 'hört zu den', 'Der Steinbeißer', 'gehört zu den', 'Der Perlfisch'], ['', '', '', '', '', '', '', '', ''], ['', '', '', '', 'störartigen Fi', 'schen.', 'barschartigen F', 'ischen.', 'dorschartigen'], ['', '', '', '', '', '', '', '', ''], ['1.003', 'B', 'Zu welcher Gruppe der', 'Wirbeltiere', 'zu den Rundm', 'äulern', 'zu den Knochen', 'fischen', 'zu den Knorpe'], ['', '', '', '', '', '', '', '', ''], ['', '', 'gehören die meisten', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['', '', 'einheimischen', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['', '', 'Süßwasserfischarten?', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.004', 'C', 'Welche Fischarten gehö', 'ren zu den', 'Kaulbarsch un', 'd Schrätzer', 'Renke (Felchen)', 'und Äsche', 'Strömer und'], ['', '', '', '', '', '', '', '', ''], ['', '', 'Karpfenartigen (Cyprini', 'den)?', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.005', 'A', 'Zu welcher Tiergruppe', 'gehören die', 'zu den Rundm', 'äulern', 'zu den Knorpelf', 'ischen', 'zu den Knoche'], ['', '', '', '', '', '', '', '', ''], ['', '', 'Neunaugen?', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.006', 'A', 'Welche Fischarten gehö', 'ren zu den', 'Schrätzer und', 'Streber', 'Renke (Felchen)', '', 'Elritze und Mo'], ['', '', '', '', '', '', '', '', ''], ['', '', 'Barschartigen (Perciden', ')?', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.007', 'B', 'Die Goldorfe ist eine Va', 'riante von', 'Zährte (Seerü', 'ßling)', 'Nerfling (Aland)', '', 'Rotfeder'], ['', '', '', '', '', '', '', '', ''], ['1.008', 'B', 'Welches Merkmal wird', 'zur', 'die äußere Ge', 'stalt, insbesondere', 'die Anzahl und', 'Stellung der', 'der Laichauss'], ['', '', '', '', '', '', '', '', ''], ['', '', 'Artbestimmung bei den', '', 'die Form der', 'Kiemendeckel', 'Schlundzähne', '', ''], ['', '', '', '', '', '', '', '', ''], ['', '', 'karpfenartigen Fischen', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['', '', '(Cypriniden) herangezo', 'gen?', '', '', '', '', ''], ['', '', '', '', '', '', '', '', ''], ['1.009', 'C', 'Wo sind Streber und Zin', 'gel', 'im Flussgebie', 't des Rheins', 'im Flussgebiet v', 'on Elbe und Rhein', 'im Flussgebiet'], ['', '', '', '', '', '', '', '', ''], ['', '', 'ursprünglich heimisch?', '', '', '', '', '', '']] How can i improve the text/cols/rows detection? import fitz doc = fitz.open('page-1-ocr.pdf') for page in doc: print(page) tabs = page.find_tables(strategy="text", text_tolerance=1, intersection_tolerance=50) print("Tables rowsasf", len(tabs.tables[0].rows)) print("texysdft", tabs.tables[0].extract()) #for row in tabs.tables[0].rows: # print(row.cells) I tried to change the find_tables() parameters, but they do nothing. Can someone guide my how to get more accurate results? EDIT: With min_words_horizontal=17, min_words_vertical=5 it looks a bit better: page 0 of page-1-ocr.pdf Table rows 11 Table cols 6 texysdft [['1.001', 'C', 'Welche ist die artenreichste', 'die Gruppe der Lachsartigen', 'die Gruppe der Barschartigen', 'die Gruppe de'], ['', '', 'Gruppe der einheimischen\nSüßwasserfische?', '(Salmoniden)', '(Perciden)', '(Cypriniden)'], ['1.002', 'A', 'Welche Aussage ist richtig?', 'Der Sterlet gehört zu den', 'Der Steinbeißer gehört zu den', 'Der Perlfisch'], ['1.003', 'B', 'Zu welcher Gruppe der Wirbeltiere\ngehören die meisten\neinheimischen\nSüßwasserfischarten?', 'störartigen Fischen.\nzu den Rundmäulern', 'barschartigen Fischen.\nzu den Knochenfischen', 'dorschartigen\nzu den Knorpe'], ['1.004', 'C', 'Welche Fischarten gehören zu den', 'Kaulbarsch und Schrätzer', 'Renke (Felchen) und Äsche', 'Strömer und'], ['', '', 'Karpfenartigen (Cypriniden)?', '', '', ''], ['1.005', 'A', 'Zu welcher Tiergruppe gehören die', 'zu den Rundmäulern', 'zu den Knorpelfischen', 'zu den Knoche'], ['1.006\n1.007', 'A\nB', 'Neunaugen?\nWelche Fischarten gehören zu den\nBarschartigen (Perciden)?\nDie Goldorfe ist eine Variante von', 'Schrätzer und Streber\nZährte (Seerüßling)', 'Renke (Felchen)\nNerfling (Aland)', 'Elritze und Mo\nRotfeder'], ['1.008', 'B', 'Welches Merkmal wird zur', 'die äußere Gestalt, insbesondere', 'die Anzahl und Stellung der', 'der Laichauss'], ['', '', 'Artbestimmung bei den\nkarpfenartigen Fischen\n(Cypriniden) herangezogen?', 'die Form der Kiemendeckel', 'Schlundzähne', ''], ['1.009', 'C', 'Wo sind Streber und Zingel', 'im Flussgebiet des Rheins', 'im Flussgebiet von Elbe und Rhein', 'im Flussgebiet']] Continue reading...