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 2012/04/17 23:05:25 UTC
svn commit: r1327281 - in /pdfbox/trunk/preflight/src:
main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
test/resources/expected_errors.txt
Author: leleueri
Date: Tue Apr 17 21:05:24 2012
New Revision: 1327281
URL: http://svn.apache.org/viewvc?rev=1327281&view=rev
Log:
PDFBOX-1274 : Alternate CS isn't check anymore in the ICCBased CS. Make a different between missing DestOutputProfile and Unexpected CS of the ICCProfile.
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
pdfbox/trunk/preflight/src/test/resources/expected_errors.txt
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java?rev=1327281&r1=1327280&r2=1327281&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java Tue Apr 17 21:05:24 2012
@@ -132,6 +132,7 @@ public class StandardColorSpaceHelper im
protected final boolean processAllColorSpace(PDColorSpace pdcs,
List<ValidationError> result) {
ColorSpaces cs = ColorSpaces.valueOf(pdcs.getName());
+
switch (cs) {
case DeviceRGB:
case DeviceRGB_SHORT:
@@ -183,8 +184,11 @@ public class StandardColorSpaceHelper im
*/
protected boolean processRGBColorSpace(List<ValidationError> result) {
// ---- ICCProfile must contain a RGB Color Space
- if (iccpw == null || !iccpw.isRGBColorSpace()) {
- result.add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_RGB, "DestOutputProfile is missing"));
+ if (iccpw == null) {
+ result.add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_MISSING, "DestOutputProfile is missing"));
+ return false;
+ } if (!iccpw.isRGBColorSpace()) {
+ result.add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_RGB, "DestOutputProfile isn't RGB ColorSpace"));
return false;
}
return true;
@@ -200,8 +204,11 @@ public class StandardColorSpaceHelper im
*/
protected boolean processCYMKColorSpace(List<ValidationError> result) {
// ---- ICCProfile must contain a CYMK Color Space
- if (iccpw == null || !iccpw.isCMYKColorSpace()) {
- result.add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_CMYK, "DestOutputProfile is missing"));
+ if (iccpw == null) {
+ result.add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_MISSING, "DestOutputProfile is missing"));
+ return false;
+ } if (!iccpw.isCMYKColorSpace()) {
+ result.add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_CMYK, "DestOutputProfile isn't CMYK ColorSpace"));
return false;
}
return true;
@@ -286,20 +293,16 @@ public class StandardColorSpaceHelper im
ERROR_GRAPHIC_INVALID_PATTERN_COLOR_SPACE_FORBIDDEN, "Pattern is forbidden as AlternateColorSpace of a ICCBased"));
return false;
}
-
- List<ValidationError> warning = new ArrayList<ValidationError>();
- if (!processAllColorSpace(altpdcs, warning)) {
- // TODO manage in lazy mode
- boolean strict = true;
- // can be an error in strict mode according to the version of the ICC Profile
- if (strict &&
- ((iccp.getMajorVersion() == 2 && iccp.getMinorVersion() > 0x40)
- || (iccp.getMajorVersion() > 2))) {
- result.addAll(warning);
- return false;
- }
- return true;
- }
+
+ /*
+ * According to the ISO-19005-1:2005
+ *
+ * A conforming reader shall render ICCBased colour spaces as specified
+ * by the ICC specification, and shall not use the Alternate colour space
+ * specified in an ICC profile stream dictionary
+ *
+ * We don't check the alternate ColorSpaces
+ */
}
}
} catch (IOException e) {
@@ -415,11 +418,6 @@ public class StandardColorSpaceHelper im
List<ValidationError> result) {
PDSeparation separation = (PDSeparation) pdcs;
try {
- if (iccpw == null) {
- result.add(new ValidationError(
- ERROR_GRAPHIC_INVALID_COLOR_SPACE_MISSING,"DestOutputProfile is missing"));
- return false;
- }
PDColorSpace altCol = separation.getAlternateColorSpace();
if (altCol != null) {
Modified: pdfbox/trunk/preflight/src/test/resources/expected_errors.txt
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/test/resources/expected_errors.txt?rev=1327281&r1=1327280&r2=1327281&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/test/resources/expected_errors.txt (original)
+++ pdfbox/trunk/preflight/src/test/resources/expected_errors.txt Tue Apr 17 21:05:24 2012
@@ -60,25 +60,25 @@ isartor-6-2-10-t01-fail-c.pdf=1.2.10
isartor-6-2-3-3-t01-fail-a.pdf=2.4.2
isartor-6-2-3-3-t02-fail-a.pdf=2.4.1
isartor-6-2-3-3-t02-fail-b.pdf=2.4.1
-isartor-6-2-3-3-t02-fail-c.pdf=2.4.1
+isartor-6-2-3-3-t02-fail-c.pdf=2.4.3
isartor-6-2-3-3-t02-fail-d.pdf=2.4.1
-isartor-6-2-3-3-t02-fail-e.pdf=2.4.1
-isartor-6-2-3-3-t02-fail-f.pdf=2.4.1
-isartor-6-2-3-3-t02-fail-g.pdf=2.4.1
+isartor-6-2-3-3-t02-fail-e.pdf=2.4.3
+isartor-6-2-3-3-t02-fail-f.pdf=2.4.3
+isartor-6-2-3-3-t02-fail-g.pdf=2.4.3
isartor-6-2-3-3-t02-fail-h.pdf=2.4.1
isartor-6-2-3-3-t02-fail-i.pdf=2.4.1
isartor-6-2-3-3-t02-fail-j.pdf=2.4.1
isartor-6-2-3-3-t03-fail-a.pdf=2.4.2
isartor-6-2-3-3-t03-fail-b.pdf=2.4.2
-isartor-6-2-3-3-t03-fail-c.pdf=2.4.2
+isartor-6-2-3-3-t03-fail-c.pdf=2.4.3
isartor-6-2-3-3-t03-fail-d.pdf=2.4.2
-isartor-6-2-3-3-t03-fail-e.pdf=2.4.2
+isartor-6-2-3-3-t03-fail-e.pdf=2.4.3
isartor-6-2-3-3-t04-fail-a.pdf=2.4.3
isartor-6-2-3-3-t04-fail-b.pdf=2.4.3
isartor-6-2-3-3-t04-fail-c.pdf=2.4.3
isartor-6-2-3-3-t04-fail-d.pdf=2.4.3
-isartor-6-2-3-3-t05-fail-a.pdf=2.4.1 // before was 2.4.3 but now the IndexColorSpace doesn't check the ICC, it is delegated to the based colorspace helper
-isartor-6-2-3-3-t05-fail-b.pdf=2.4.1 // before was 2.4.3 but now the IndexColorSpace doesn't check the ICC, it is delegated to the based colorspace helper
+isartor-6-2-3-3-t05-fail-a.pdf=2.4.3
+isartor-6-2-3-3-t05-fail-b.pdf=2.4.3
isartor-6-2-3-4-t01-fail-a.pdf=2.4.3
isartor-6-2-3-4-t01-fail-b.pdf=2.4.3
isartor-6-2-4-t01-fail-a.pdf=2.3