diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/AnnotationService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/AnnotationService.java index a0a3e665..1d048208 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/AnnotationService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/AnnotationService.java @@ -169,12 +169,12 @@ public class AnnotationService { private float[] toQuadPoint(Rectangle rectangle, PDRectangle mediaBox, PDRectangle cropBox) { - var x1 = rectangle.getTopLeft().getX() + cropBox.getLowerLeftX() - mediaBox.getLowerLeftY(); - var y1 = rectangle.getTopLeft().getY() + (mediaBox.getLowerLeftY() - cropBox.getLowerLeftY()); + var x1 = rectangle.getTopLeft().getX() + cropBox.getLowerLeftX() - mediaBox.getLowerLeftX() + (cropBox.toString().equals(mediaBox.toString()) ? cropBox.getLowerLeftX() : 0f); + var y1 = rectangle.getTopLeft().getY() + (mediaBox.getLowerLeftY() - cropBox.getLowerLeftY()) + (cropBox.toString().equals(mediaBox.toString()) ? cropBox.getLowerLeftY() : 0f); var x2 = rectangle.getTopLeft() - .getX() + rectangle.getWidth() + cropBox.getLowerLeftX() - mediaBox.getLowerLeftY(); + .getX() + rectangle.getWidth() + cropBox.getLowerLeftX() - mediaBox.getLowerLeftX() + (cropBox.toString().equals(mediaBox.toString()) ? cropBox.getLowerLeftX() : 0f); var y2 = rectangle.getTopLeft() - .getY() + rectangle.getHeight() - (mediaBox.getLowerLeftY() - cropBox.getLowerLeftY()); + .getY() + rectangle.getHeight() - (mediaBox.getLowerLeftY() - cropBox.getLowerLeftY()) + (cropBox.toString().equals(mediaBox.toString()) ? cropBox.getLowerLeftY() : 0f); // quadPoints is array of x,y coordinates in Z-like order (top-left, top-right, bottom-left,bottom-right) // of the area to be highlighted diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/CropBoxNotEqualToMediabox.pdf b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/CropBoxNotEqualToMediabox.pdf new file mode 100644 index 00000000..1bedfae5 Binary files /dev/null and b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/CropBoxNotEqualToMediabox.pdf differ diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/MediaBoxBiggerThanCropBox.pdf b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/MediaBoxBiggerThanCropBox.pdf new file mode 100644 index 00000000..c0063529 Binary files /dev/null and b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/MediaBoxBiggerThanCropBox.pdf differ