You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/07/04 20:52:52 UTC

svn commit: r1607907 - in /pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight: process/reflect/GraphicObjectPageValidationProcess.java xobject/XObjPostscriptValidator.java

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());
     }
 
     /*