ImageColor management is for many users still a book with seven seals, while color management is actually quite simple in PDF. To enable correct color reproduction, only an ICC profile must be actually appended. This is the so-called Output Intent, or target color space. If the file is fully defined in RGB or CMYK, for example, then you add just an RGB or CMYK ICC profile to the PDF file, finished. More than an output intent is not required for a correct color reproduction, as long as all objects use the same device color space.

There are of course often cases in which more than one color space need to be used, especially for images. This is not complicated too, if the images were created with color management and if the images contain embedded ICC profiles.

These profiles can be automatically used when the image is inserted. Embedded ICC profiles are not stored as output intent, but directly associated with the image as ICC based color space. It is therefore used as a source color space, while the output intent defines the destination color space.

Exactly that is often misunderstood. Even if only images with embedded ICC profiles are used in a file, the target color space must still be defined in the form of the output intent! Only if the target color space or output intent is defined, you get consistent results.

If the target color space is not defined, then a default profile is used as target color space in PDF viewers. This leads sometimes to very different results because the default target color space is differently defined in most PDF viewers.

In Adobe's Acrobat or Reader, the standard target color space depends also on the content of the PDF file. This can be sometimes confusing, since almost all third-party PDF viewers work differently.

In Acrobat and Reader, the default destination color space for RGB colors is RGB. RGB is a device color space and it is treated as such. That means RGB colors are rendered unchanged on the monitor, but only if no transparency is used. If transparency is used, e.g. this could be an alpha channel in an image, then Acrobat or Reader simulates a printer color space, and a printer color space is, in the definition of Acrobat and Reader, a CMYK color space.

This behavior does not change when objects use an embedded ICC profile, because this profile is used as source color space. The destination color space is therefore not changed.

Therefore, we see a print preview for RGB files with transparency, while normal RGB files are rendered directly on the monitor. That this causes different results is logical, since CMYK color spaces are much smaller than RGB color spaces.

If you render PDF files with DynaPDF, then this should also be done with enabled color management. The color management must be initialized with InitColorManagement() in DynaPDF with the desired default profiles for RGB and CMYK color spaces. In particular, the specification of a CMYK profile is important since the conversion of CMYK colors to RGB causes bad results without color management. The function can be called multiple times. You can always change the profiles at run time. The pages need then only to be re-rendered.

This is important for a soft proof, since a soft proof is normally enabled during runtime (a soft proof simulates another color space).