From 6005c476962dcdfd1d4e4fabf10fa840377b78db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Fri, 15 Oct 2021 15:27:05 +0200 Subject: [PATCH] RED-2223: Fixed adding annotations to rotated words on non rotated pages --- .../v1/server/parsing/model/RedTextPosition.java | 1 + .../server/parsing/model/TextPositionSequence.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/RedTextPosition.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/RedTextPosition.java index d8e72d22..a0a9375b 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/RedTextPosition.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/RedTextPosition.java @@ -21,6 +21,7 @@ public class RedTextPosition { private float YDirAdj; private float width; private float heightDir; + private float widthDirAdj; // not used in reanalysis @JsonIgnore diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/TextPositionSequence.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/TextPositionSequence.java index 10b5abb1..bf13f391 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/TextPositionSequence.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/model/TextPositionSequence.java @@ -1,5 +1,7 @@ package com.iqser.red.service.redaction.v1.server.parsing.model; +import static java.util.stream.Collectors.toSet; + import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.iqser.red.service.redaction.v1.model.Point; @@ -244,7 +246,15 @@ public class TextPositionSequence implements CharSequence { posXInit = textPositions.get(0).getPageWidth() - textPositions.get(0).getYDirAdj() - 2; posXEnd = textPositions.get(0).getPageWidth() - textPositions.get(textPositions.size() - 1) .getYDirAdj() + height; - } else { + } else if(textPositions.get(0).getRotation() == 0 && textPositions.stream().map(t -> t.getY()).collect(toSet()).size() > 1) { + posYInit = textPositions.get(0).getPageHeight() - getX1(); + posYEnd = textPositions.get(0).getPageHeight() - getX2() - textPositions.get(0) + .getWidthDirAdj() - textPositions.get(textPositions.size() - 1).getWidthDirAdj() - 3; + posXInit = textPositions.get(0).getPageWidth() - textPositions.get(0).getYDirAdj() - 2; + posXEnd = textPositions.get(0).getPageWidth() - textPositions.get(textPositions.size() - 1) + .getYDirAdj() + height; + } + else { posXEnd = textPositions.get(textPositions.size() - 1) .getXDirAdj() + textPositions.get(textPositions.size() - 1).getWidth() + 1; posYInit = textPositions.get(0).getPageHeight() - textPositions.get(0).getYDirAdj() - 2;