Author: jahewson Date: Fri Jul 4 18:52:51 2014 New Revision: 1607907 URL: http://svn.apache.org/r1607907 Log: PDFBOX-2179: Preflight: fix PostScript XObject handling
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/GraphicObjectPageValidationProcess.java pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/xobject/XObjPostscriptValidator.java Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/GraphicObjectPageValidationProcess.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/GraphicObjectPageValidationProcess.java?rev=1607907&r1=1607906&r2=1607907&view=diff ============================================================================== --- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/GraphicObjectPageValidationProcess.java (original) +++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/GraphicObjectPageValidationProcess.java Fri Jul 4 18:52:51 2014 @@ -21,10 +21,8 @@ package org.apache.pdfbox.preflight.process.reflect; -import static org.apache.pdfbox.preflight.PreflightConstants.XOBJECT_DICTIONARY_VALUE_SUBTYPE_POSTSCRIPT; - -import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.cos.COSStream; +import org.apache.pdfbox.pdmodel.graphics.PDPostScriptXObject; import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject; import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; import org.apache.pdfbox.preflight.PreflightConstants; @@ -55,18 +53,13 @@ public class GraphicObjectPageValidation { validator = new XObjFormValidator(context, (PDFormXObject) vPath.peek()); } + else if (!vPath.isEmpty() && vPath.isExpectedType(PDPostScriptXObject.class)) + { + validator = new XObjPostscriptValidator(context, (PDPostScriptXObject) vPath.peek()); + } else if (!vPath.isEmpty() && vPath.isExpectedType(COSStream.class)) { - COSStream stream = (COSStream) vPath.peek(); - String subType = stream.getNameAsString(COSName.SUBTYPE); - if (XOBJECT_DICTIONARY_VALUE_SUBTYPE_POSTSCRIPT.equals(subType)) - { - validator = new XObjPostscriptValidator(context, stream); - } - else - { - context.addValidationError(new ValidationError(PreflightConstants.ERROR_GRAPHIC_XOBJECT_INVALID_TYPE, "Invalid XObject subtype")); - } + context.addValidationError(new ValidationError(PreflightConstants.ERROR_GRAPHIC_XOBJECT_INVALID_TYPE, "Invalid XObject subtype")); } else { Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/xobject/XObjPostscriptValidator.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/xobject/XObjPostscriptValidator.java?rev=1607907&r1=1607906&r2=1607907&view=diff ============================================================================== --- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/xobject/XObjPostscriptValidator.java (original) +++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/xobject/XObjPostscriptValidator.java Fri Jul 4 18:52:51 2014 @@ -21,16 +21,16 @@ package org.apache.pdfbox.preflight.xobject; -import org.apache.pdfbox.cos.COSStream; +import org.apache.pdfbox.pdmodel.graphics.PDPostScriptXObject; import org.apache.pdfbox.preflight.PreflightContext; import org.apache.pdfbox.preflight.exception.ValidationException; public class XObjPostscriptValidator extends AbstractXObjValidator { - public XObjPostscriptValidator(PreflightContext context, COSStream xobj) + public XObjPostscriptValidator(PreflightContext context, PDPostScriptXObject xobj) { - super(context, xobj); + super(context, xobj.getCOSStream()); } /*