From 17fa161d7785a1d54b862376041a41ac464b6cae Mon Sep 17 00:00:00 2001 From: deiflaender Date: Fri, 12 Nov 2021 10:04:58 +0100 Subject: [PATCH] RED-2742: Fixed annotation positions for rotation = 0 and direction = 90 --- .../parsing/model/TextPositionSequence.java | 7 +++++++ .../Minimal Examples/Direction90Rotation0.pdf | Bin 0 -> 9778 bytes 2 files changed, 7 insertions(+) create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/resources/files/Minimal Examples/Direction90Rotation0.pdf 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 dd9d1026..33b2a722 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 @@ -267,6 +267,13 @@ public class TextPositionSequence implements CharSequence { posYInit = textPositions.get(0).getPageHeight() - textPositions.get(0).getYDirAdj() - 2; posYEnd = textPositions.get(0).getPageHeight() - textPositions.get(textPositions.size() - 1) .getYDirAdj() + 2; + } else if(textPositions.get(0).getRotation() == 0 && textPositions.get(0).getDir() == 90f){ + posYInit = getX1(); + posYEnd = getX2() + textPositions.get(0) + .getWidthDirAdj() - textPositions.get(textPositions.size() - 1).getWidthDirAdj() - 3; + posXInit = textPositions.get(0).getYDirAdj() + 2; + posXEnd = textPositions.get(textPositions.size() - 1) + .getYDirAdj() - height; } else { posXEnd = textPositions.get(textPositions.size() - 1) diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/Minimal Examples/Direction90Rotation0.pdf b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/Minimal Examples/Direction90Rotation0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e22b15b32ff40c3a0552da678343ddc47b89166f GIT binary patch literal 9778 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 a9v9DwjsLVr_Li1*@PgRfRbDQ7+W!yHwH$!} literal 0 HcmV?d00001