Fixed position problem for rotated images
This commit is contained in:
parent
ec4db538a7
commit
d8e444280b
@ -34,7 +34,6 @@ import org.apache.pdfbox.cos.COSName;
|
|||||||
import org.apache.pdfbox.cos.COSNumber;
|
import org.apache.pdfbox.cos.COSNumber;
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||||
import org.apache.pdfbox.pdmodel.PDPage;
|
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.PDXObject;
|
||||||
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
|
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
|
||||||
import org.apache.pdfbox.text.PDFTextStripper;
|
import org.apache.pdfbox.text.PDFTextStripper;
|
||||||
@ -236,36 +235,13 @@ public class PDFLinesTextStripper extends PDFTextStripper {
|
|||||||
imageTransform.scale(1.0 / pdfImage.getWidth(), -1.0 / pdfImage.getHeight());
|
imageTransform.scale(1.0 / pdfImage.getWidth(), -1.0 / pdfImage.getHeight());
|
||||||
imageTransform.translate(0, -pdfImage.getHeight());
|
imageTransform.translate(0, -pdfImage.getHeight());
|
||||||
|
|
||||||
AffineTransform pageTransform = createCurrentPageTransformation();
|
AffineTransform pageTransform = new AffineTransform();
|
||||||
pageTransform.concatenate(imageTransform);
|
pageTransform.concatenate(imageTransform);
|
||||||
|
|
||||||
return pageTransform.createTransformedShape(imageBounds).getBounds2D();
|
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) {
|
private float floatValue(COSBase value) {
|
||||||
|
|
||||||
if (value instanceof COSNumber) {
|
if (value instanceof COSNumber) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user