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 2020/06/18 15:29:33 UTC
svn commit: r1878960 - in /pdfbox/trunk:
pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java
Author: lehmi
Date: Thu Jun 18 15:29:33 2020
New Revision: 1878960
URL: http://svn.apache.org/viewvc?rev=1878960&view=rev
Log:
PDFBOX-3888: clear xref trailer resolver after parsing
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java?rev=1878960&r1=1878959&r2=1878960&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java Thu Jun 18 15:29:33 2020
@@ -269,10 +269,26 @@ public class COSParser extends BaseParse
bfSearchForObjStreams();
}
}
+ if (resetTrailerResolver())
+ {
+ xrefTrailerResolver.reset();
+ xrefTrailerResolver = null;
+ }
return trailer;
}
/**
+ * Indicates whether the xref trailer resolver should be reseted or not. Should be overwritten if the xref trailer
+ * resolver is needed after the initial parsing.
+ *
+ * @return true if the xref trailer resolver should be reseted
+ */
+ protected boolean resetTrailerResolver()
+ {
+ return true;
+ }
+
+ /**
* Parses cross reference tables.
*
* @param startXRefOffset start offset of the first table
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java?rev=1878960&r1=1878959&r2=1878960&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java Thu Jun 18 15:29:33 2020
@@ -223,6 +223,13 @@ public class PreflightParser extends PDF
objectKeys.forEach(key -> document.getObjectFromPool(key).getObject());
}
+ @Override
+ protected boolean resetTrailerResolver()
+ {
+ // Don't reset the xref trailer resolver after parsing as it is needed for validation
+ return false;
+ }
+
/**
* Check that the PDF header match rules of the PDF/A specification. First line (offset 0) must
* be a comment with the PDF version (version 1.0 isn't conform to the PDF/A specification)