Author: tilman
Date: Mon Jul 27 08:37:06 2026
New Revision: 1936617
Log:
PDFBOX-6223: refactor computation of new BBox
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Mon Jul 27 08:37:03 2026 (r1936616)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Mon Jul 27 08:37:06 2026 (r1936617)
@@ -316,14 +316,9 @@ class AppearanceGeneratorHelper
// Calculate the entries for the bounding box and the transformation
matrix
// settings for the appearance stream
- int rotation = resolveRotation(widget);
- PDRectangle rect = widget.getRectangle();
- Matrix matrix = Matrix.getRotateInstance(Math.toRadians(rotation), 0,
0);
- Point2D.Float point2D = matrix.transformPoint(rect.getWidth(),
rect.getHeight());
-
- PDRectangle bbox = new PDRectangle(Math.abs((float) point2D.getX()),
Math.abs((float) point2D.getY()));
+ PDRectangle bbox = computeBBox(widget);
appearanceStream.setBBox(bbox);
-
+ int rotation = resolveRotation(widget);
AffineTransform at = calculateMatrix(bbox, rotation);
if (!at.isIdentity())
{
@@ -333,6 +328,14 @@ class AppearanceGeneratorHelper
appearanceStream.setResources(new PDResources());
return appearanceStream;
}
+
+ private static PDRectangle computeBBox(PDAnnotationWidget widget)
+ {
+ PDRectangle rect = widget.getRectangle();
+ Matrix matrix =
Matrix.getRotateInstance(Math.toRadians(resolveRotation(widget)), 0, 0);
+ Point2D.Float point2D = matrix.transformPoint(rect.getWidth(),
rect.getHeight());
+ return new PDRectangle(Math.abs((float) point2D.getX()),
Math.abs((float) point2D.getY()));
+ }
private PDDefaultAppearanceString
getWidgetDefaultAppearanceString(PDAnnotationWidget widget) throws IOException
{
@@ -341,7 +344,7 @@ class AppearanceGeneratorHelper
return new PDDefaultAppearanceString(da, dr);
}
- private int resolveRotation(PDAnnotationWidget widget)
+ private static int resolveRotation(PDAnnotationWidget widget)
{
PDAppearanceCharacteristicsDictionary characteristicsDictionary =
widget.getAppearanceCharacteristics();
if (characteristicsDictionary != null)