You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/04/09 11:02:33 UTC
svn commit: r1857167 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Author: tilman
Date: Tue Apr 9 11:02:32 2019
New Revision: 1857167
URL: http://svn.apache.org/viewvc?rev=1857167&view=rev
Log:
PDFBOX-4510: don't write identity matrix; clarify comment
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java?rev=1857167&r1=1857166&r2=1857167&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java Tue Apr 9 11:02:32 2019
@@ -214,7 +214,11 @@ class AppearanceGeneratorHelper
PDRectangle bbox = new PDRectangle(Math.abs((float) point2D.getX()), Math.abs((float) point2D.getY()));
appearanceStream.setBBox(bbox);
- appearanceStream.setMatrix(calculateMatrix(bbox, rotation));
+ AffineTransform at = calculateMatrix(bbox, rotation);
+ if (!at.isIdentity())
+ {
+ appearanceStream.setMatrix(at);
+ }
appearanceStream.setFormType(1);
appearanceStream.setResources(new PDResources());
@@ -442,16 +446,16 @@ class AppearanceGeneratorHelper
{
insertGeneratedListboxSelectionHighlight(contents, appearanceStream, font, fontSize);
}
-
+
// start the text output
contents.beginText();
- // write the /DA string
+ // write font and color from the /DA string, with the calculated font size
defaultAppearance.writeTo(contents, fontSize);
-
+
// calculate the y-position of the baseline
float y;
-
+
// calculate font metrics at font size
float fontScaleY = fontSize / FONTSCALE;
float fontBoundingBoxAtSize = font.getBoundingBox().getHeight() * fontScaleY;