6969import org .apache .pdfbox .cos .COSBase ;
7070import org .apache .pdfbox .cos .COSDictionary ;
7171import org .apache .pdfbox .cos .COSName ;
72+ import org .apache .pdfbox .cos .COSStream ;
7273import org .apache .pdfbox .pdmodel .PDResources ;
7374import org .apache .pdfbox .pdmodel .common .PDRectangle ;
7475import org .apache .pdfbox .pdmodel .common .function .PDFunction ;
@@ -2036,14 +2037,15 @@ Rectangle2D getBounds()
20362037
20372038 private boolean hasBlendMode (PDTransparencyGroup group , Set <COSBase > groupsDone )
20382039 {
2039- if (groupsDone .contains (group .getCOSObject ()))
2040+ COSStream groupCOSStream = group .getCOSObject ();
2041+ if (groupsDone .contains (groupCOSStream ))
20402042 {
20412043 // The group is being processed. Avoid endless recursion.
20422044 return false ;
20432045 }
2044- groupsDone .add (group . getCOSObject () );
2046+ groupsDone .add (groupCOSStream );
20452047
2046- Boolean val = blendModeMap .get (group . getCOSObject () );
2048+ Boolean val = blendModeMap .get (groupCOSStream );
20472049 if (val != null )
20482050 {
20492051 return val ;
@@ -2052,7 +2054,7 @@ private boolean hasBlendMode(PDTransparencyGroup group, Set<COSBase> groupsDone)
20522054 PDResources resources = group .getResources ();
20532055 if (resources == null )
20542056 {
2055- blendModeMap .put (group . getCOSObject () , false );
2057+ blendModeMap .put (groupCOSStream , false );
20562058 return false ;
20572059 }
20582060 for (COSName name : resources .getExtGStateNames ())
@@ -2065,7 +2067,7 @@ private boolean hasBlendMode(PDTransparencyGroup group, Set<COSBase> groupsDone)
20652067 BlendMode blendMode = extGState .getBlendMode ();
20662068 if (blendMode != BlendMode .NORMAL )
20672069 {
2068- blendModeMap .put (group . getCOSObject () , true );
2070+ blendModeMap .put (groupCOSStream , true );
20692071 return true ;
20702072 }
20712073 }
@@ -2085,12 +2087,12 @@ private boolean hasBlendMode(PDTransparencyGroup group, Set<COSBase> groupsDone)
20852087 if (xObject instanceof PDTransparencyGroup &&
20862088 hasBlendMode ((PDTransparencyGroup )xObject , groupsDone ))
20872089 {
2088- blendModeMap .put (group . getCOSObject () , true );
2090+ blendModeMap .put (groupCOSStream , true );
20892091 return true ;
20902092 }
20912093 }
20922094
2093- blendModeMap .put (group . getCOSObject () , false );
2095+ blendModeMap .put (groupCOSStream , false );
20942096 return false ;
20952097 }
20962098
0 commit comments