From 0ed7f2b62268549dfaf1fe0d87d098899a416d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Wed, 19 May 2021 12:54:25 +0200 Subject: [PATCH] Ignore images that are contained in others --- .../server/segmentation/PdfSegmentationService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java index 43f5192f..a33a009d 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java @@ -102,6 +102,17 @@ public class PdfSegmentationService { page.setLandscape(isLandscape || isRotated); page.setPageNumber(pageNumber); List mergedList = processImages(stripper.getImages()); + + List imagesInImage = new ArrayList<>(); + for(PdfImage image: mergedList){ + for (PdfImage inner: mergedList){ + if(image != inner && image.getPosition().contains(inner.getPosition().getX(), inner.getPosition().getY(), inner.getPosition().getWidth(), inner.getPosition().getHeight())){ + imagesInImage.add(inner); + } + } + } + mergedList.removeAll(imagesInImage); + page.setImages(mergedList); tableExtractionService.extractTables(cleanRulings, page);