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)