Skip to content

Commit 4c06950

Browse files
committed
Get inherited value of Rotate property
DEVSIX-1704
1 parent 2cb6850 commit 4c06950

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

kernel/src/main/java/com/itextpdf/kernel/pdf/PdfPage.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,14 +145,16 @@ public Rectangle getPageSizeWithRotation() {
145145
*/
146146
public int getRotation() {
147147
PdfNumber rotate = getPdfObject().getAsNumber(PdfName.Rotate);
148-
148+
int rotateValue = 0;
149149
if (rotate == null) {
150-
return 0;
151-
} else {
152-
int n = rotate.intValue();
153-
n %= 360;
154-
return n < 0 ? n + 360 : n;
150+
initParentPages();
151+
rotate = (PdfNumber) getParentValue(this.parentPages, PdfName.Rotate);
152+
}
153+
if (rotate != null) {
154+
rotateValue = rotate.intValue();
155155
}
156+
rotateValue %= 360;
157+
return rotateValue < 0 ? rotateValue + 360 : rotateValue;
156158
}
157159

158160
/**

kernel/src/test/java/com/itextpdf/kernel/pdf/PdfPagesTest.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
This file is part of the iText (R) project.
3-
Copyright (c) 1998-2017 iText Group NV
3+
Copyright (c) 1998-2018 iText Group NV
44
Authors: iText Software.
55
66
This program is free software; you can redistribute it and/or modify
@@ -415,5 +415,11 @@ public void getPageSizeWithInheritedMediaBox() throws IOException {
415415
pdfDoc.close();
416416
}
417417

418-
418+
@Test
419+
public void rotationPagesRotationTest() throws IOException {
420+
String filename = "singlePageDocumentWithRotation.pdf";
421+
PdfDocument pdfDoc = new PdfDocument(new PdfReader(sourceFolder + filename));
422+
PdfPage page = pdfDoc.getPage(1);
423+
Assert.assertEquals("Inherited value is invalid", 90, page.getRotation());
424+
}
419425
}

0 commit comments

Comments
 (0)