From 3052b828423065de142b8f383dcc499de9761ffa Mon Sep 17 00:00:00 2001 From: "Clarissa.Dietrich" Date: Thu, 22 Apr 2021 15:20:52 +0200 Subject: [PATCH] fix: position of rectangle, add test --- .../v1/server/segmentation/PdfSegmentationService.java | 2 +- .../v1/server/segmentation/SectionsBuilderService.java | 8 -------- .../server/segmentation/PdfSegmentationServiceTest.java | 2 ++ 3 files changed, 3 insertions(+), 9 deletions(-) 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 33e40ec6..5b279051 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 @@ -216,7 +216,7 @@ public class PdfSegmentationService { // set Image, Position and type for merged Image //set position for merged image with values of image1 and the height of both Rectangle2D pos = new Rectangle2D.Float(); - pos.setRect(image1.getPosition().getX(), image1.getPosition().getY(), width,height1+height2); + pos.setRect(image1.getPosition().getX(), image2.getPosition().getY(), width,height1+height2); newPdfImage = new PdfImage(mergedImage,pos,0); // Graphics need to be disposed newPdfImage.getImage().flush(); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/SectionsBuilderService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/SectionsBuilderService.java index f6b92cda..7ee5a4c8 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/SectionsBuilderService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/SectionsBuilderService.java @@ -121,14 +121,6 @@ public class SectionsBuilderService { paragraphMap.computeIfAbsent(1, x -> new TreeSet<>()).add(paragraph); } - // first page is always a paragraph, else we can't process pages 1..N, - // where N is the first found page with a paragraph - if (paragraphMap.get(1) == null) { - Paragraph paragraph = new Paragraph(); - document.getParagraphs().add(paragraph); - paragraphMap.computeIfAbsent(1, x -> new TreeSet<>()).add(paragraph); - } - for (Page page : document.getPages()) { for (PdfImage image : page.getImages()) { SortedSet paragraphsOnPage = paragraphMap.get(page.getPageNumber()); diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java index bcc3ef3a..ed0b6c8f 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationServiceTest.java @@ -74,6 +74,8 @@ public class PdfSegmentationServiceTest { ClassPathResource pdfFileResource = new ClassPathResource("files/Minimal Examples/270Rotated.pdf"); Document document = pdfSegmentationService.parseDocument(pdfFileResource.getInputStream()); + assertThat(document.getPages().get(0).getImages().size()).isEqualTo(1); + assertThat(document.getPages().get(1).getImages().size()).isEqualTo(0); } @Test