You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2018/05/10 06:10:46 UTC

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

Author: jahewson
Date: Thu May 10 06:10:46 2018
New Revision: 1831309

URL: http://svn.apache.org/viewvc?rev=1831309&view=rev
Log:
PDFBOX-4068: refactor: 'resources' is only ever set within constructors, make it a constructor parameter

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAppearanceContentStream.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDFormContentStream.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPatternContentStream.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDAbstractAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCaretAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCircleAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolygonAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolylineAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDSquareAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDStrikeoutAppearanceHandler.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDUnderlineAppearanceHandler.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java Thu May 10 06:10:46 2018
@@ -56,7 +56,7 @@ import org.apache.pdfbox.util.NumberForm
 abstract class PDAbstractContentStream implements Closeable
 {
     protected final OutputStream outputStream;
-    private PDResources resources;
+    protected final PDResources resources;
 
     protected boolean inTextMode = false;
     protected final Stack<PDFont> fontStack = new Stack<>();
@@ -73,10 +73,10 @@ abstract class PDAbstractContentStream i
      * 
      * @param outputStream The appearances output stream to write to.
      */
-    PDAbstractContentStream(OutputStream outputStream)
+    PDAbstractContentStream(OutputStream outputStream, PDResources resources)
     {
         this.outputStream = outputStream;
-        this.resources = null;
+        this.resources = resources;
 
         formatDecimal.setMaximumFractionDigits(4);
         formatDecimal.setGroupingUsed(false);
@@ -93,16 +93,6 @@ abstract class PDAbstractContentStream i
         formatDecimal.setMaximumFractionDigits(fractionDigitsNumber);
     }
 
-    public PDResources getResources()
-    {
-        return resources;
-    }
-    
-    public final void setResources(PDResources resources)
-    {
-        this.resources = resources;
-    }
-
     /**
      * Begin some text operations.
      *

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAppearanceContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAppearanceContentStream.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAppearanceContentStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAppearanceContentStream.java Thu May 10 06:10:46 2018
@@ -56,8 +56,7 @@ public final class PDAppearanceContentSt
      */
     public PDAppearanceContentStream(PDAppearanceStream appearance, OutputStream outputStream)
     {
-        super(outputStream);
-        setResources(appearance.getResources());
+        super(outputStream, appearance.getResources());
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDFormContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDFormContentStream.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDFormContentStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDFormContentStream.java Thu May 10 06:10:46 2018
@@ -34,7 +34,6 @@ public final class PDFormContentStream e
      */
     public PDFormContentStream(PDFormXObject form) throws IOException
     {
-        super(form.getContentStream().createOutputStream());
-        setResources(form.getResources());
+        super(form.getContentStream().createOutputStream(), form.getResources());
     }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java Thu May 10 06:10:46 2018
@@ -150,13 +150,22 @@ public final class PDPageContentStream e
     public PDPageContentStream(PDDocument document, PDPage sourcePage, AppendMode appendContent,
                                boolean compress, boolean resetContext) throws IOException
     {
-        this(document, sourcePage, appendContent, compress, resetContext, new PDStream(document));
+        this(document, sourcePage, appendContent, compress, resetContext, new PDStream(document),
+                sourcePage.getResources() != null ? sourcePage.getResources() : new PDResources());
     }
 
     private PDPageContentStream(PDDocument document, PDPage sourcePage, AppendMode appendContent,
-                                boolean compress, boolean resetContext, PDStream stream) throws IOException
+                                boolean compress, boolean resetContext,PDStream stream,
+                                PDResources resources) throws IOException
     {
-        super(stream.createOutputStream(compress ? COSName.FLATE_DECODE : null));
+        super(stream.createOutputStream(compress ? COSName.FLATE_DECODE : null), resources);
+
+        // propagate resources to the page
+        if (sourcePage.getResources() == null)
+        {
+            sourcePage.setResources(resources);
+        }
+
         this.document = document;
 
         // If request specifies the need to append/prepend to the document
@@ -220,16 +229,6 @@ public final class PDPageContentStream e
             sourcePage.setContents(stream);
         }
 
-        // this has to be done here, as the resources will be set to null when resetting the content
-        // stream
-        PDResources resources = sourcePage.getResources();
-        if (resources == null)
-        {
-            resources = new PDResources();
-            sourcePage.setResources(resources);
-        }
-        setResources(resources);
-
         // configure NumberFormat
         setMaximumFractionDigits(5);
     }
@@ -255,10 +254,10 @@ public final class PDPageContentStream e
      */
     public PDPageContentStream(PDDocument doc, PDAppearanceStream appearance, OutputStream outputStream)
     {
-        super(outputStream);
+        super(outputStream, appearance.getResources());
         this.document = doc;
         
-        setResources(appearance.getResources());
+        //setResources(appearance.getResources());
     }
 
     /**
@@ -297,7 +296,7 @@ public final class PDPageContentStream e
             }
         }
 
-        writeOperand(getResources().add(font));
+        writeOperand(resources.add(font));
         writeOperand(fontSize);
         writeOperator("Tf");
     }
@@ -546,7 +545,7 @@ public final class PDPageContentStream e
         {
             xObjectPrefix = "Form";
         }
-        COSName objMapping = getResources().add(xobject, xObjectPrefix);
+        COSName objMapping = resources.add(xobject, xObjectPrefix);
 
         saveGraphicsState();
         transform(new Matrix(transform));
@@ -1158,7 +1157,7 @@ public final class PDPageContentStream e
     @Override
     public void setGraphicsStateParameters(PDExtendedGraphicsState state) throws IOException
     {
-        writeOperand(getResources().add(state));
+        writeOperand(resources.add(state));
         writeOperator("gs");
     }
 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPatternContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPatternContentStream.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPatternContentStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPatternContentStream.java Thu May 10 06:10:46 2018
@@ -34,7 +34,6 @@ public final class PDPatternContentStrea
      */
     public PDPatternContentStream(PDTilingPattern pattern) throws IOException
     {
-        super(pattern.getContentStream().createOutputStream());
-        setResources(pattern.getResources());
+        super(pattern.getContentStream().createOutputStream(), pattern.getResources());
     }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDAbstractAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDAbstractAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDAbstractAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDAbstractAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -42,8 +42,6 @@ import org.apache.pdfbox.pdmodel.interac
 public abstract class PDAbstractAppearanceHandler implements PDAppearanceHandler
 {
     private final PDAnnotation annotation;
-    private PDAppearanceEntry appearanceEntry;
-    private PDAppearanceContentStream contentStream;
     
     public PDAbstractAppearanceHandler(PDAnnotation annotation)
     {
@@ -106,9 +104,8 @@ public abstract class PDAbstractAppearan
      */
     PDAppearanceContentStream getNormalAppearanceAsContentStream() throws IOException
     {
-        appearanceEntry = getNormalAppearance();
-        contentStream = getAppearanceEntryAsContentStream(appearanceEntry);
-        return contentStream;
+        PDAppearanceEntry appearanceEntry = getNormalAppearance();
+        return getAppearanceEntryAsContentStream(appearanceEntry);
     }
     
     /**
@@ -192,7 +189,7 @@ public abstract class PDAbstractAppearan
      * <p>Creates a new rectangle with differences added to each side.
      * .
      * @param rectangle the rectangle.
-     * @param diifferences the differences to apply.
+     * @param differences the differences to apply.
      * @return the padded rectangle.
      */
     PDRectangle addRectDifferences(PDRectangle rectangle, float[] differences)
@@ -214,7 +211,7 @@ public abstract class PDAbstractAppearan
      * <p>Creates a new rectangle with differences added to each side.
      * .
      * @param rectangle the rectangle.
-     * @param diifferences the differences to apply.
+     * @param differences the differences to apply.
      * @return the padded rectangle.
      */
     PDRectangle applyRectDifferences(PDRectangle rectangle, float[] differences)
@@ -229,36 +226,17 @@ public abstract class PDAbstractAppearan
                 rectangle.getHeight() - differences[1] - differences[3]);
     }
 
-    void handleOpacity(float opacity) throws IOException
+    void setOpacity(PDAppearanceContentStream contentStream, float opacity) throws IOException
     {
         if (opacity < 1)
         {
             PDExtendedGraphicsState gs = new PDExtendedGraphicsState();
             gs.setStrokingAlphaConstant(opacity);
             gs.setNonStrokingAlphaConstant(opacity);
-            
-            prepareResources();
 
             contentStream.setGraphicsStateParameters(gs);
         }
     }
-
-    /**
-     * Assign the resources dictionary from the appearance entry to the content stream and create
-     * the resources if needed.
-     */
-    void prepareResources()
-    {
-        PDAppearanceStream appearanceStream = appearanceEntry.getAppearanceStream();
-        
-        PDResources resources = appearanceStream.getResources();
-        if (resources == null)
-        {
-            resources = new PDResources();
-            appearanceStream.setResources(resources);
-            contentStream.setResources(resources);
-        }
-    }
     
     /**
      * Get the annotations normal appearance.
@@ -285,10 +263,19 @@ public abstract class PDAbstractAppearan
     }
     
     
-    private PDAppearanceContentStream getAppearanceEntryAsContentStream(PDAppearanceEntry appearanceEntryToStream) throws IOException
+    private PDAppearanceContentStream getAppearanceEntryAsContentStream(PDAppearanceEntry appearanceEntry) throws IOException
     {
-        PDAppearanceStream appearanceStream = appearanceEntryToStream.getAppearanceStream();
+        PDAppearanceStream appearanceStream = appearanceEntry.getAppearanceStream();
         setTransformationMatrix(appearanceStream);
+
+        // ensure there are resources
+        PDResources resources = appearanceStream.getResources();
+        if (resources == null)
+        {
+            resources = new PDResources();
+            appearanceStream.setResources(resources);
+        }
+
         return new PDAppearanceContentStream(appearanceStream);
     }
     

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCaretAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCaretAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCaretAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCaretAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -63,7 +63,7 @@ public class PDCaretAppearanceHandler ex
                 contentStream.setStrokingColor(getColor());
                 contentStream.setNonStrokingColor(getColor());
                 
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(contentStream, annotation.getConstantOpacity());
 
                 PDRectangle rect = getRectangle();
                 PDRectangle bbox = new PDRectangle(rect.getWidth(), rect.getHeight());

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCircleAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCircleAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCircleAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDCircleAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -65,7 +65,7 @@ public class PDCircleAppearanceHandler e
                 boolean hasBackground = contentStream
                         .setNonStrokingColorOnDemand(annotation.getInteriorColor());
                 
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(contentStream, annotation.getConstantOpacity());
                 
                 contentStream.setBorderLine(lineWidth, annotation.getBorderStyle());
                 PDBorderEffectDictionary borderEffect = annotation.getBorderEffect();

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -111,7 +111,6 @@ public class PDHighlightAppearanceHandle
         {
             try (PDAppearanceContentStream cs = getNormalAppearanceAsContentStream())
             {
-                prepareResources();
                 PDExtendedGraphicsState r0 = new PDExtendedGraphicsState();
                 PDExtendedGraphicsState r1 = new PDExtendedGraphicsState();
                 r0.setAlphaSourceFlag(false);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -61,7 +61,7 @@ public class PDInkAppearanceHandler exte
         {
             try (PDAppearanceContentStream cs = getNormalAppearanceAsContentStream())
             {
-                handleOpacity(ink.getConstantOpacity());
+                setOpacity(cs, ink.getConstantOpacity());
 
                 cs.setStrokingColor(color);
                 if (ab.dashArray != null)

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -135,7 +135,7 @@ public class PDLineAppearanceHandler ext
         {
             try (PDAppearanceContentStream cs = getNormalAppearanceAsContentStream())
             {
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(cs, annotation.getConstantOpacity());
 
                 // Tested with Adobe Reader:
                 // text is written first (TODO)
@@ -241,7 +241,7 @@ public class PDLineAppearanceHandler ext
                     // check contentLength so we don't show if there was trouble before
                     if (contentLength > 0)
                     {
-                        prepareResources();
+                        //prepareResources(cs);
 
                         cs.beginText();
                         cs.setFont(font, FONT_SIZE);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolygonAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolygonAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolygonAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolygonAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -100,7 +100,7 @@ public class PDPolygonAppearanceHandler
                 boolean hasBackground = contentStream
                         .setNonStrokingColorOnDemand(annotation.getInteriorColor());
 
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(contentStream, annotation.getConstantOpacity());
 
                 contentStream.setBorderLine(lineWidth, annotation.getBorderStyle());
                 //TODO find better way to do this. Either pass border array to

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolylineAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolylineAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolylineAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDPolylineAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -94,7 +94,7 @@ public class PDPolylineAppearanceHandler
         {
             try (PDAppearanceContentStream cs = getNormalAppearanceAsContentStream())
             {
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(cs, annotation.getConstantOpacity());
 
                 cs.setStrokingColor(color);
                 if (ab.dashArray != null)

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=1831309&r1=1831308&r2=1831309&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 Thu May 10 06:10:46 2018
@@ -67,7 +67,7 @@ public class PDSquareAppearanceHandler e
                 boolean hasBackground = contentStream
                         .setNonStrokingColorOnDemand(annotation.getInteriorColor());
                 
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(contentStream, annotation.getConstantOpacity());
                 
                 contentStream.setBorderLine(lineWidth, annotation.getBorderStyle());                
                 PDBorderEffectDictionary borderEffect = annotation.getBorderEffect();

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDStrikeoutAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDStrikeoutAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDStrikeoutAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDStrikeoutAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -93,7 +93,7 @@ public class PDStrikeoutAppearanceHandle
         {
             try (PDAppearanceContentStream cs = getNormalAppearanceAsContentStream())
             {
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(cs, annotation.getConstantOpacity());
 
                 cs.setStrokingColor(color);
                 if (ab.dashArray != null)

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDUnderlineAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDUnderlineAppearanceHandler.java?rev=1831309&r1=1831308&r2=1831309&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDUnderlineAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDUnderlineAppearanceHandler.java Thu May 10 06:10:46 2018
@@ -94,7 +94,7 @@ public class PDUnderlineAppearanceHandle
         {
             try (PDAppearanceContentStream cs = getNormalAppearanceAsContentStream())
             {
-                handleOpacity(annotation.getConstantOpacity());
+                setOpacity(cs, annotation.getConstantOpacity());
 
                 cs.setStrokingColor(color);
                 if (ab.dashArray != null)