Understanding control of Working Spaces
Estimated Reading Time: 2 MinutesThe PDPrefSetWorkingRGB, PDPrefSetWorkingCMYK and PDPrefSetWorkingGray API settings tie the nominal DeviceRGB, DeviceCMYK and DeviceGray color gamut (respectively) to a specific ICC profile’s color gamut. Putting it another way, the designated Working spaces are the assumed profiles for any non-calibrated device's DeviceRGB, DeviceCMYK or DeviceGray elements.
These PDPrefSetWorking* APIs allow the application to explicitly set those working spaces to something other than the defaults. Adobe PDF Library uses the same default assumed profiles as Adobe Acrobat. These are, essentially, API-level equivalents to the DefaultRGB, DefaultCMYK and DefaultGray values. See Section 8.6.8, “Colour Operators,” in the ISO 32000 Reference, page 171.
The Blending Space is a transparency concept, as described in Section 11.3.4, “Blending Colour Space,” in the ISO 32000 Reference, page 323. For color transparency calculations, all the elements involved with their various color spaces are converted to the same color space. The PDF Reference indicates that this could be done in about half a dozen color spaces, but the PDPrefSetDefaultBlendingColorSpace call gives an effective choice between an additive (DeviceRGB) color space or a subtractive (DeviceCMYK) color space. The process for CMYK blending is described on page 328, and RGB on page 324.
NOTE: Within a page, there may be multiple transparency groups. These groups will contain their own blending profile, and their contents will blend via that profile. The group as a whole will then blend into the page using the page’s blending profile.
If a blending space is defined in the Flattener Parameters, it will be set as the blending space for each page, prior to flattening, and it will override any existing page blending spaces. This will be true regardless of how the existing page blending space was defined.
- If the parameter is null, the blending space for each page will be either the value previously set by PDPageSetBlendingSpace, or the value contained in the Group entry of the page which defines its Blending space.
- If neither of those has been specified, it will be the value in PDPrefSetDefaultBlendingColorSpace() if that has been set.
- If none of the above are true, it will be the Working Space for CMYK.
- If that working space is not used, the profile for U.S. Web Coated SWOP (v2) will be used.