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 da4ae57c..06ece2c2 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 @@ -96,9 +96,12 @@ public class PdfSegmentationService { page.setRotation(rotation); page.setLandscape(isLandscape || isRotated); page.setPageNumber(pageNumber); - List imagelist = stripper.getImages(); - List mergedList = processImages(imagelist); + List mergedList = processImages(stripper.getImages()); page.setImages(mergedList); + for (PdfImage image : mergedList) { + image.getImage().flush(); + image.getImage().getGraphics().dispose(); + } tableExtractionService.extractTables(cleanRulings, page); buildPageStatistics(page); @@ -111,6 +114,7 @@ public class PdfSegmentationService { pages.add(page); + } document.setPages(pages); diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index 821e20d6..297779ef 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -484,7 +484,6 @@ public class RedactionIntegrationTest { @Test - @Ignore public void noExceptionShouldBeThrownForAnyFiles() throws IOException { long start = System.currentTimeMillis(); 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 398e521f..bcc3ef3a 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 @@ -68,6 +68,23 @@ public class PdfSegmentationServiceTest { } + @Test + public void testMergeImages() throws IOException { + + ClassPathResource pdfFileResource = new ClassPathResource("files/Minimal Examples/270Rotated.pdf"); + + Document document = pdfSegmentationService.parseDocument(pdfFileResource.getInputStream()); + + } + @Test + public void testMergeImages2() throws IOException { + + ClassPathResource pdfFileResource = new ClassPathResource("files/new/Single Study - Oral (Gavage) Mouse.pdf"); + + Document document = pdfSegmentationService.parseDocument(pdfFileResource.getInputStream()); + + } + @Test @Ignore public void testExtractImages() throws IOException {