You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2023/06/24 14:09:37 UTC

svn commit: r1910586 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel: font/PDType3CharProc.java graphics/form/PDFormXObject.java graphics/pattern/PDTilingPattern.java

Author: lehmi
Date: Sat Jun 24 14:09:37 2023
New Revision: 1910586

URL: http://svn.apache.org/viewvc?rev=1910586&view=rev
Log:
PDFBOX-5551: use getContentsForRandomAccess() instead of COSStream.createInputStream()

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3CharProc.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/form/PDFormXObject.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3CharProc.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3CharProc.java?rev=1910586&r1=1910585&r2=1910586&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3CharProc.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType3CharProc.java Sat Jun 24 14:09:37 2023
@@ -30,6 +30,7 @@ import org.apache.pdfbox.cos.COSDictiona
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSNumber;
 import org.apache.pdfbox.cos.COSStream;
+import org.apache.pdfbox.io.RandomAccessInputStream;
 import org.apache.pdfbox.io.RandomAccessRead;
 import org.apache.pdfbox.pdfparser.PDFStreamParser;
 import org.apache.pdfbox.pdmodel.PDResources;
@@ -75,7 +76,7 @@ public final class PDType3CharProc imple
     @Override
     public InputStream getContents() throws IOException
     {
-        return charStream.createInputStream();
+        return new RandomAccessInputStream(getContentsForRandomAccess());
     }
 
     @Override

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/form/PDFormXObject.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/form/PDFormXObject.java?rev=1910586&r1=1910585&r2=1910586&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/form/PDFormXObject.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/form/PDFormXObject.java Sat Jun 24 14:09:37 2023
@@ -25,6 +25,7 @@ import org.apache.pdfbox.cos.COSDictiona
 import org.apache.pdfbox.cos.COSFloat;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSStream;
+import org.apache.pdfbox.io.RandomAccessInputStream;
 import org.apache.pdfbox.io.RandomAccessRead;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.PDResources;
@@ -145,7 +146,7 @@ public class PDFormXObject extends PDXOb
     @Override
     public InputStream getContents() throws IOException
     {
-        return getCOSObject().createInputStream();
+        return new RandomAccessInputStream(getContentsForRandomAccess());
     }
 
     @Override

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java?rev=1910586&r1=1910585&r2=1910586&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java Sat Jun 24 14:09:37 2023
@@ -23,6 +23,7 @@ import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSStream;
+import org.apache.pdfbox.io.RandomAccessInputStream;
 import org.apache.pdfbox.io.RandomAccessRead;
 import org.apache.pdfbox.pdmodel.PDResources;
 import org.apache.pdfbox.pdmodel.ResourceCache;
@@ -173,12 +174,9 @@ public class PDTilingPattern extends PDA
     @Override
     public InputStream getContents() throws IOException
     {
-        COSDictionary dict = getCOSObject();
-        if (dict instanceof COSStream)
-        {
-            return ((COSStream) getCOSObject()).createInputStream();
-        }
-        return null;
+        RandomAccessRead contentsForRandomAccess = getContentsForRandomAccess();
+        return contentsForRandomAccess != null
+                ? new RandomAccessInputStream(contentsForRandomAccess) : null;
     }
 
     @Override