Site iconJava PDF Blog

What are ICCBased Colorspaces in PDF files?

I introduced how PDF Color works in a previous article. There are lots of different types of Colorspaces to suit all occasions. One of the more complex and powerful Colorspaces is the ICC Colorspace which deserves more explanation.

ICCBased colorspace allow the user to include a file in the PDF (a profile) defining the Colorspace values according to standards laid down by the International Color Consortium (ICC). There are several versions of the ICC standard and the level of supported has been updated in PDF version revisions. Here is how it appears inside a PDF file. The ICC profile is in the stream data.

70 0 obj[/ICCBased 91 0 R]

91 0 obj<<

/Alternate/DeviceGray

/Length 2905

/N 1

/Filter/FlateDecode>>

stream

The only problem with ICCBased colorspaces is that not all PDF tools may support the ICCBased so you can specify an Alternate colorspace to use (/DeviceGray in the example above). Using the Alternate colorspace will result in an approximation which is often identical to using the ICCBased value (and it can be a lot faster!).

ICCBased colorspaces can have 1, 3 or 4 components (defined by the N dictionary value. So they often use Gray (1 component), RGB (3 components) or CMYK (4 components). So these are common values for Alternate values.

This combination of power, flexibility and alternatives makes ICCBased colorspaces very useful to use in PDF files. Are you making full use of them?