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 2016/10/26 16:43:24 UTC
svn commit: r1766702 - in
/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight:
PreflightContext.java parser/PreflightParser.java
process/TrailerValidationProcess.java
Author: tilman
Date: Wed Oct 26 16:43:24 2016
New Revision: 1766702
URL: http://svn.apache.org/viewvc?rev=1766702&view=rev
Log:
PDFBOX-3541: also use length to determine whether it's a linearized file
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightContext.java
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/parser/PreflightParser.java
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightContext.java?rev=1766702&r1=1766701&r2=1766702&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightContext.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightContext.java Wed Oct 26 16:43:24 2016
@@ -79,6 +79,8 @@ public class PreflightContext implements
private Integer currentPageNumber = null;
+ private long fileLen;
+
/**
* Create the DocumentHandler using the DataSource which represent the PDF file to check.
*
@@ -277,4 +279,13 @@ public class PreflightContext implements
return currentPageNumber;
}
+ public void setFileLen(long fileLen)
+ {
+ this.fileLen = fileLen;
+ }
+
+ public long getFileLen()
+ {
+ return fileLen;
+ }
}
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=1766702&r1=1766701&r2=1766702&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 Wed Oct 26 16:43:24 2016
@@ -236,6 +236,7 @@ public class PreflightParser extends PDF
ctx.setDocument(preflightDocument);
preflightDocument.setContext(ctx);
ctx.setXrefTrailerResolver(xrefTrailerResolver);
+ ctx.setFileLen(this.fileLen);
}
@Override
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java?rev=1766702&r1=1766701&r2=1766702&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java Wed Oct 26 16:43:24 2016
@@ -65,7 +65,8 @@ public class TrailerValidationProcess ex
COSDictionary linearizedDict = getLinearizedDictionary(pdfDoc);
// linearized files have two trailers, everything else is not a linearized file
// so don't make the checks for updated linearized files
- if (linearizedDict != null && ctx.getXrefTrailerResolver().getTrailerCount() == 2)
+ if (linearizedDict != null && ctx.getXrefTrailerResolver().getTrailerCount() == 2 &&
+ ctx.getFileLen() == linearizedDict.getLong(COSName.L))
{
// it is a linearized PDF, check the linearized dictionary
checkLinearizedDictionnary(ctx, linearizedDict);