Search code examples
pdfcolorsrgbacrobatcmyk

Why is the pure Cyan image in this PDF not displayed as pure Cyan?


Can anyone tell why the image in this pdf does not display as 100% Cyan?

clrtestc - NOPREBLEND32.PDF

Warning: I probably know just enough about pdf and colour to be dangerous!

I'm pretty sure each colour plane of the image is in a separate image. Here's a blended version if that helps.

I know the ColorSpace is DeviceCMYK

I'm pretty sure there is only 100% Cyan in the image, at least there was when it went into the PDF converter.

What went in: CMYK: 100,0,0,0 RGB: 0,255,255

What I measure coming out: CMYK: 100,27,0,6 RGB: 0,173,238

I'm foxed! Is there some filter affecting the rendering of the PDF?

There's also Magenta, Yellow and Black versions if they help.

Any help much appreciated.


Solution

  • The PDF file is extraordinarily complicated, it has numerous Forms, some of them nested, most of which are empty. However there only appears to be one image, which is defined in an Indexed CMYK space. So as far as I can see, this is indeed a 100% cyan image.

    The extended graphics state does use the Multiply Blend mode, and there is no group and no page group specified, so the colour space used for the blending will depend on the colour model of the output device. If that's a monitor, then it's entirely possible that the resulting output will be RGB.

    That's because your CMYK image needs to be converted to RGB in order to be blended using that colour space.

    Incidentally, the image is in an Indexed colour space. In your image all the image samples have the same value, that value is then consulted in a lookup table, and that table returns the CMYK components. So no, there is not one image per colour plane, or at least, not in this file.

    To be honest, you're going to have to explain better how you are evaluating the content of the PDF file. As far as I can see the image is 100% cyan, and when rendered to a CMYK device, it will remain 100% cyan. If you render to an RGB device, it will be converted to RGB. A poor quality PDF consumer might decide to convert to RGB in the absence of a defined colour space for the blending operation.

    Since the blending mode doesn't actually do anything (there's no defined alpha, SMask or any other transparency in the file) you could remove that and see if it sorts out your problem.

    Edit

    Your screen will be an RGB device, so no matter what the CMYK values in the PDF file are, there won't be any CMYK in the screenshot. The PDF rendering engine will have to convert the CMYK to RGB.

    So the PDF rendering engine performs an opaque CMYK->RGB conversion. Then you take a picture of that RGB screen. You load that into an image editing application, and ask it what the RGB values are and presumably what it thinks are the CMYK equivalents.

    If the CMYK->RGB calculation that the PDF viewer performs is not the inverse of the calculation that the RGB->CMYK image application performs, then you won't be getting the right values!

    There's no way to predict what the RGB intermediate values 'should' be, because there is no 'right' answer here. Fundamentally this isn't a reliable technique for evaluating the colour.

    It's hard to make any kind of recommendation without knowing what you are trying to achieve (and possibly why), and what tools you are prepared to use. I believe Acrobat Pro would allow you to look at the colour values directly for example. Or you could use something like Ghostscript to create a CMYK TIFF file, then open that in an image application which supports CMYK (like Photoshop) and look at the values there.

    But rendering to the screen, taking a screenshot and trying to figure out what the CMYK values might or might not have been is not really going to work.