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();