From d8e444280b5a025e19785c70c9fcbb11480b5042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Mon, 1 Feb 2021 15:51:09 +0100 Subject: [PATCH] Fixed position problem for rotated images --- .../server/parsing/PDFLinesTextStripper.java | 28 ++----------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/PDFLinesTextStripper.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/PDFLinesTextStripper.java index cb0ce7bc..35000841 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/PDFLinesTextStripper.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/parsing/PDFLinesTextStripper.java @@ -34,7 +34,6 @@ import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.cos.COSNumber; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; -import org.apache.pdfbox.pdmodel.common.PDRectangle; import org.apache.pdfbox.pdmodel.graphics.PDXObject; import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; import org.apache.pdfbox.text.PDFTextStripper; @@ -216,7 +215,7 @@ public class PDFLinesTextStripper extends PDFTextStripper { Rectangle2D rect = new Rectangle2D.Float((float) imageBounds.getX(), (float) imageBounds.getY(), (float) imageBounds .getWidth(), (float) imageBounds.getHeight()); - if(rect.getHeight() > 2 && rect.getWidth() > 2) { + if (rect.getHeight() > 2 && rect.getWidth() > 2) { this.imageBounds.add(rect); } } @@ -236,36 +235,13 @@ public class PDFLinesTextStripper extends PDFTextStripper { imageTransform.scale(1.0 / pdfImage.getWidth(), -1.0 / pdfImage.getHeight()); imageTransform.translate(0, -pdfImage.getHeight()); - AffineTransform pageTransform = createCurrentPageTransformation(); + AffineTransform pageTransform = new AffineTransform(); pageTransform.concatenate(imageTransform); return pageTransform.createTransformedShape(imageBounds).getBounds2D(); } - protected AffineTransform createCurrentPageTransformation() { - - PDRectangle cb = pdpage.getCropBox(); - AffineTransform pageTransform = new AffineTransform(); - - switch (pdpage.getRotation()) { - case 90: - pageTransform.translate(cb.getHeight(), 0); - break; - case 180: - pageTransform.translate(cb.getWidth(), cb.getHeight()); - break; - case 270: - pageTransform.translate(0, cb.getWidth()); - break; - } - - pageTransform.rotate(Math.toRadians(pdpage.getRotation())); - - return pageTransform; - } - - private float floatValue(COSBase value) { if (value instanceof COSNumber) {