Skip to content

Commit

Permalink
moved rectangle normalization into PdfRectangle constructor,
Browse files Browse the repository at this point in the history
removed redundant usage of PdfRectangle
  • Loading branch information
Alexandr Shandra authored and asturio committed Mar 29, 2024
1 parent ef22b7b commit 8bc8083
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 14 deletions.
11 changes: 1 addition & 10 deletions openpdf/src/main/java/com/lowagie/text/pdf/PdfRectangle.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,16 +160,7 @@ public PdfRectangle(Rectangle rectangle) {
* @param rectangle as a PdfArray
*/
public PdfRectangle(PdfArray rectangle) {
this(convertToFloat(rectangle.getPdfObject(0)), convertToFloat(rectangle.getPdfObject(1)),
convertToFloat(rectangle.getPdfObject(2)), convertToFloat(rectangle.getPdfObject(3)));
}

private static float convertToFloat(PdfObject object) {
if (!(object instanceof PdfNumber)) {
throw new IllegalArgumentException(
"Invalid argument. Float value (coordinate) expected! But was " + object);
}
return ((PdfNumber) object).floatValue();
this(PdfReader.getNormalizedRectangle(rectangle));
}

// methods
Expand Down
7 changes: 3 additions & 4 deletions openpdf/src/main/java/com/lowagie/text/pdf/PdfStamperImp.java
Original file line number Diff line number Diff line change
Expand Up @@ -979,8 +979,8 @@ void flatFields() {

if (bboxRaw != null && rectRaw != null) {
transformNeeded = true;
PdfRectangle bbox = new PdfRectangle(PdfReader.getNormalizedRectangle(bboxRaw));
PdfRectangle rect = new PdfRectangle(PdfReader.getNormalizedRectangle(rectRaw));
PdfRectangle bbox = new PdfRectangle(bboxRaw);
PdfRectangle rect = new PdfRectangle(rectRaw);

float rectWidth = rect.width();
float rectHeight = rect.height();
Expand Down Expand Up @@ -1060,8 +1060,7 @@ void flatFields() {
if (!(objReal instanceof PdfIndirectReference)) {

// Lonzak: npe bugfix
PdfRectangle bBoxCoordinates = new PdfRectangle(
((PdfDictionary) objReal).getAsArray(PdfName.BBOX));
PdfArray bBoxCoordinates = ((PdfDictionary) objReal).getAsArray(PdfName.BBOX);
if (bBoxCoordinates != null && bBoxCoordinates.size() >= 4) {
// DEVSIX-1741 - Bugfix backported as Jonthan of iText suggested
Rectangle bBox = PdfReader.getNormalizedRectangle(bBoxCoordinates);
Expand Down

0 comments on commit 8bc8083

Please sign in to comment.