From d9afdf68bee707742c4ee5b615e4d1294e0f98ef Mon Sep 17 00:00:00 2001 From: same8891 <55152301+same8891@users.noreply.github.com> Date: Wed, 18 Oct 2023 15:15:12 -0500 Subject: [PATCH 1/2] Update SpreadsheetExtractionAlgorithm.java --- .../tabula/extractors/SpreadsheetExtractionAlgorithm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java b/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java index 5b4af3d5..7c5c0de6 100644 --- a/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java +++ b/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java @@ -62,7 +62,7 @@ else if (r.vertical()) { List cells = findCells(horizontalR, verticalR); List spreadsheetAreas = findSpreadsheetsFromCells(cells); - + Collections.sort(spreadsheetAreas, Comparator.comparingDouble(Rectangle::getHeight).reversed()); List spreadsheets = new ArrayList<>(); for (Rectangle area: spreadsheetAreas) { From 186e75393e8e77b144879c3df63fe49c2cde930a Mon Sep 17 00:00:00 2001 From: same8891 <55152301+same8891@users.noreply.github.com> Date: Wed, 18 Oct 2023 15:42:51 -0500 Subject: [PATCH 2/2] Update SpreadsheetExtractionAlgorithm.java --- .../tabula/extractors/SpreadsheetExtractionAlgorithm.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java b/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java index 7c5c0de6..59ff966e 100644 --- a/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java +++ b/src/main/java/technology/tabula/extractors/SpreadsheetExtractionAlgorithm.java @@ -62,7 +62,7 @@ else if (r.vertical()) { List cells = findCells(horizontalR, verticalR); List spreadsheetAreas = findSpreadsheetsFromCells(cells); - Collections.sort(spreadsheetAreas, Comparator.comparingDouble(Rectangle::getHeight).reversed()); + List
spreadsheets = new ArrayList<>(); for (Rectangle area: spreadsheetAreas) { @@ -183,9 +183,9 @@ public static List findCells(List horizontalRulingLines, List findSpreadsheetsFromCells(List cells) { // via: http://stackoverflow.com/questions/13746284/merging-multiple-adjacent-rectangles-into-one-polygon List rectangles = new ArrayList<>(); - Set pointSet = new HashSet<>(); - Map edgesH = new HashMap<>(); - Map edgesV = new HashMap<>(); + Set pointSet = new LinkedHashSet<>(); + Map edgesH = new LinkedHashMap<>(); + Map edgesV = new LinkedHashMap<>(); int i = 0; cells = new ArrayList<>(new HashSet<>(cells));