You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/10/16 19:31:59 UTC
svn commit: r1709062 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXRefStream.java
Author: tilman
Date: Fri Oct 16 17:31:59 2015
New Revision: 1709062
URL: http://svn.apache.org/viewvc?rev=1709062&view=rev
Log:
PDFBOX-3034: make sure that certain trailer dictionary elements are indirect
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXRefStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXRefStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXRefStream.java?rev=1709062&r1=1709061&r2=1709062&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXRefStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXRefStream.java Fri Oct 16 17:31:59 2015
@@ -104,6 +104,12 @@ public class PDFXRefStream implements PD
Set<COSName> keySet = this.stream.keySet();
for ( COSName cosName : keySet )
{
+ // "Other cross-reference stream entries not listed in Table 17 may be indirect;
+ // in fact, some (such as Root in Table 15) shall be indirect."
+ if (COSName.ROOT.equals(cosName) || COSName.INFO.equals(cosName) || COSName.PREV.equals(cosName))
+ {
+ continue;
+ }
COSBase dictionaryObject = this.stream.getDictionaryObject(cosName);
dictionaryObject.setDirect(true);
}