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/09/03 18:35:47 UTC
svn commit: r1622295 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
pdmodel/graphics/color/PDColorSpace.java
util/operator/color/SetNonStrokingColorSpace.java
util/operator/color/SetStrokingColorSpace.java
Author: jahewson
Date: Wed Sep 3 16:35:47 2014
New Revision: 1622295
URL: http://svn.apache.org/r1622295
Log:
PDFBOX-2311: Log message rather than exception when a missing color space is encountered
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColorSpace.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingColorSpace.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColorSpace.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColorSpace.java?rev=1622295&r1=1622294&r2=1622295&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColorSpace.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColorSpace.java Wed Sep 3 16:35:47 2014
@@ -63,6 +63,7 @@ public abstract class PDColorSpace imple
* @param colorSpaces the ColorSpace dictionary from the current resources, if any
* @param patterns The Pattern dictionary from the current resources, if any
* @return a new color space
+ * @throws MissingException if the color space is missing from the resources dictionary
* @throws IOException if the color space is unknown or cannot be created
*/
public static PDColorSpace create(COSBase colorSpace,
@@ -101,8 +102,7 @@ public abstract class PDColorSpace imple
}
else
{
- throw new IOException("The color space '" + name + "' does not exist in the " +
- "current page's resources");
+ throw new MissingException("Missing color space: " + name.getName());
}
}
else if (colorSpace instanceof COSArray)
@@ -258,4 +258,12 @@ public abstract class PDColorSpace imple
{
return array;
}
+
+ public static class MissingException extends IOException
+ {
+ private MissingException(String message)
+ {
+ super(message);
+ }
+ }
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingColorSpace.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingColorSpace.java?rev=1622295&r1=1622294&r2=1622295&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingColorSpace.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingColorSpace.java Wed Sep 3 16:35:47 2014
@@ -19,6 +19,8 @@ package org.apache.pdfbox.util.operator.
import java.io.IOException;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
@@ -33,16 +35,25 @@ import org.apache.pdfbox.util.operator.O
*/
public class SetNonStrokingColorSpace extends OperatorProcessor
{
+ private static final Log LOG = LogFactory.getLog(SetNonStrokingColorSpace.class);
+
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException
{
COSName name = (COSName)arguments.get(0);
- PDColorSpace cs = PDColorSpace.create(name,
- context.getResources().getColorSpaces(),
- context.getResources().getPatterns());
+ try
+ {
+ PDColorSpace cs = PDColorSpace.create(name,
+ context.getResources().getColorSpaces(),
+ context.getResources().getPatterns());
- context.getGraphicsState().setNonStrokingColorSpace(cs);
- context.getGraphicsState().setNonStrokingColor(cs.getInitialColor());
+ context.getGraphicsState().setNonStrokingColorSpace(cs);
+ context.getGraphicsState().setNonStrokingColor(cs.getInitialColor());
+ }
+ catch (PDColorSpace.MissingException e)
+ {
+ LOG.error("Missing color space: " + name.getName());
+ }
}
}
\ No newline at end of file
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java?rev=1622295&r1=1622294&r2=1622295&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java Wed Sep 3 16:35:47 2014
@@ -19,6 +19,8 @@ package org.apache.pdfbox.util.operator.
import java.io.IOException;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
@@ -33,16 +35,25 @@ import org.apache.pdfbox.util.operator.O
*/
public class SetStrokingColorSpace extends OperatorProcessor
{
+ private static final Log LOG = LogFactory.getLog(SetStrokingColorSpace.class);
+
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException
{
COSName name = (COSName)arguments.get(0);
- PDColorSpace cs = PDColorSpace.create(name,
- context.getResources().getColorSpaces(),
- context.getResources().getPatterns());
+ try
+ {
+ PDColorSpace cs = PDColorSpace.create(name,
+ context.getResources().getColorSpaces(),
+ context.getResources().getPatterns());
- context.getGraphicsState().setStrokingColorSpace(cs);
- context.getGraphicsState().setStrokingColor(cs.getInitialColor());
+ context.getGraphicsState().setStrokingColorSpace(cs);
+ context.getGraphicsState().setStrokingColor(cs.getInitialColor());
+ }
+ catch (PDColorSpace.MissingException e)
+ {
+ LOG.error("Missing color space: " + name.getName());
+ }
}
}
\ No newline at end of file