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 2017/09/28 17:42:42 UTC

svn commit: r1810018 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java

Author: lehmi
Date: Thu Sep 28 17:42:41 2017
New Revision: 1810018

URL: http://svn.apache.org/viewvc?rev=1810018&view=rev
Log:
PDFBOX-3934: skip trailing spaces

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java?rev=1810018&r1=1810017&r2=1810018&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java Thu Sep 28 17:42:41 2017
@@ -1743,11 +1743,19 @@ public class COSParser extends BaseParse
                 int nrOfObjects = dict.getInt(COSName.N);
                 COSStream stream = parseCOSStream(dict);
                 COSInputStream is = stream.createInputStream();
-                byte[] numbersStr = new byte[offsetFirstStream];
-                is.read(numbersStr);
+                byte[] numbersBytes = new byte[offsetFirstStream];
+                is.read(numbersBytes);
                 is.close();
                 stream.close();
-                String[] numbers = new String(numbersStr, "ISO-8859-1").split(" ");
+                int start = 0;
+                // skip spaces
+                while (numbersBytes[start] == 32)
+                {
+                    start++;
+                }
+                String numbersStr = new String(numbersBytes, start, numbersBytes.length - start,
+                        "ISO-8859-1");
+                String[] numbers = numbersStr.split(" ");
                 for (int i = 0; i < nrOfObjects; i++)
                 {
                     long objNumber = Long.parseLong(numbers[i * 2]);