You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2016/05/23 09:15:43 UTC

svn commit: r1745131 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java

Author: msahyoun
Date: Mon May 23 09:15:43 2016
New Revision: 1745131

URL: http://svn.apache.org/viewvc?rev=1745131&view=rev
Log:
PDFBOX-3353: use line width setting for border

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java?rev=1745131&r1=1745130&r2=1745131&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java Mon May 23 09:15:43 2016
@@ -46,6 +46,7 @@ public class PDSquareAppearanceHandler e
     {
         PDAppearanceEntry appearanceEntry = getNormalAppearance();
         PDAppearanceStream appearanceStream = appearanceEntry.getAppearanceStream();
+        float lineWidth = getLineWidth();
         try
         {
             PDAppearanceContentStream contentStream = new PDAppearanceContentStream(appearanceStream);
@@ -54,7 +55,15 @@ public class PDSquareAppearanceHandler e
             AffineTransform transform = AffineTransform.getTranslateInstance(-bbox.getLowerLeftX(), -bbox.getLowerLeftY());
             appearanceStream.setMatrix(transform);
             contentStream.setStrokingColor(getColor().getComponents());
-            contentStream.addRect(bbox.getLowerLeftX()+1f, bbox.getLowerLeftY()+1f, bbox.getWidth()-2f, bbox.getHeight()-2f);
+            
+            // Acrobat doesn't write a line width command
+            // for a line width of 1 as this is default.
+            // Will do the same.
+            if (!(Math.abs(lineWidth - 1) < 1e-6))
+            {
+                contentStream.setLineWidth(lineWidth);
+            }
+            contentStream.addRect(bbox.getLowerLeftX()+lineWidth, bbox.getLowerLeftY()+lineWidth, bbox.getWidth()-2*lineWidth, bbox.getHeight()-2*lineWidth);
             
             contentStream.stroke();
             contentStream.close();