From 0e8dfed4410b28a6316f8e328fc166339852565f Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Wed, 4 Jan 2023 11:32:27 +0100 Subject: [PATCH] RED-5911 Bugfix for removed texts within tables --- .../iqser/red/service/ocr/v1/server/service/OCRService.java | 4 ++-- .../red/service/ocr/v1/server/OcrServiceIntegrationTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ocr-service-v1/ocr-service-server-v1/src/main/java/com/iqser/red/service/ocr/v1/server/service/OCRService.java b/ocr-service-v1/ocr-service-server-v1/src/main/java/com/iqser/red/service/ocr/v1/server/service/OCRService.java index 1b00f0c..dfd45f9 100644 --- a/ocr-service-v1/ocr-service-server-v1/src/main/java/com/iqser/red/service/ocr/v1/server/service/OCRService.java +++ b/ocr-service-v1/ocr-service-server-v1/src/main/java/com/iqser/red/service/ocr/v1/server/service/OCRService.java @@ -285,7 +285,7 @@ public class OCRService { var gState = element.getGState(); //See PDF Reference 5.3 Text rendering modes, 3 = Invisible, however this ocr does not use it. - if (!filledRectangleIntersection && gState.getTextRenderMode() != 3) { + if (!filledRectangleIntersection && gState.getTextRenderMode() != 3 || filledRectangleIntersection && gState.getTextRenderMode() == 0) { writer.writeElement(element); } } @@ -294,10 +294,10 @@ public class OCRService { @SneakyThrows private void processPath(Element element, ElementWriter writer, Set filledRectangles) { + writer.writeElement(element); if (element.getPathData() != null && element.getPathData().getPoints().length > 4) { filledRectangles.add(element.getBBox()); } - writer.writeElement(element); } diff --git a/ocr-service-v1/ocr-service-server-v1/src/test/java/com/iqser/red/service/ocr/v1/server/OcrServiceIntegrationTest.java b/ocr-service-v1/ocr-service-server-v1/src/test/java/com/iqser/red/service/ocr/v1/server/OcrServiceIntegrationTest.java index f19d07e..6293a62 100644 --- a/ocr-service-v1/ocr-service-server-v1/src/test/java/com/iqser/red/service/ocr/v1/server/OcrServiceIntegrationTest.java +++ b/ocr-service-v1/ocr-service-server-v1/src/test/java/com/iqser/red/service/ocr/v1/server/OcrServiceIntegrationTest.java @@ -76,6 +76,8 @@ public class OcrServiceIntegrationTest { var out = FileUtils.openOutputStream(new File(getTemporaryDirectory() + "/" + fileName + ".pdf")); IOUtils.copy(response, out); + + System.out.println("File:" + getTemporaryDirectory() + "/" + fileName + ".pdf"); }