Pull request #114: Fixed position problem for rotated images
Merge in RED/redaction-service from rotatedImages to master * commit 'd8e444280b5a025e19785c70c9fcbb11480b5042': Fixed position problem for rotated images
This commit is contained in:
commit
b4699caaae
@ -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) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user