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 2017/07/20 15:28:50 UTC
svn commit: r1802507 - in
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser:
COSParser.java FDFParser.java
Author: tilman
Date: Thu Jul 20 15:28:50 2017
New Revision: 1802507
URL: http://svn.apache.org/viewvc?rev=1802507&view=rev
Log:
PDFBOX-3639: FDF catalog dictionary only needs /FDF
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.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=1802507&r1=1802506&r2=1802507&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 Jul 20 15:28:50 2017
@@ -1810,7 +1810,7 @@ public class COSParser extends BaseParse
if (dictionary != null)
{
// document catalog
- if (COSName.CATALOG.equals(dictionary.getCOSName(COSName.TYPE)))
+ if (isCatalog(dictionary))
{
trailer.setItem(COSName.ROOT, document.getObjectFromPool(entry.getKey()));
}
@@ -1837,7 +1837,18 @@ public class COSParser extends BaseParse
}
return trailer;
}
-
+
+ /**
+ * Tell if the dictionary is a PDF catalog. Override this for an FDF catalog.
+ *
+ * @param dictionary
+ * @return
+ */
+ protected boolean isCatalog(COSDictionary dictionary)
+ {
+ return COSName.CATALOG.equals(dictionary.getCOSName(COSName.TYPE));
+ }
+
/**
* This will parse the startxref section from the stream.
* The startxref value is ignored.
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java?rev=1802507&r1=1802506&r2=1802507&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java Thu Jul 20 15:28:50 2017
@@ -74,6 +74,18 @@ public class FDFParser extends COSParser
init();
}
+ /**
+ * Tell if the dictionary is a FDF catalog.
+ *
+ * @param dictionary
+ * @return
+ */
+ @Override
+ protected final boolean isCatalog(COSDictionary dictionary)
+ {
+ return dictionary.containsKey(COSName.FDF);
+ }
+
private void init() throws IOException
{
String eofLookupRangeStr = System.getProperty(SYSPROP_EOFLOOKUPRANGE);