I am using PDFX / Lualatex to create a PDF/X-4 file. My problem is that the publisher is wanting the images in the file to be CMYK. Some of my images are transparent.

The problem:

  • Latex only supports a limited number of image formats and does not allow for TIFF
  • PNG images can have transparency, but do not support CMYK colour profiles
  • JPG images do support CMYK, but cannot have transparency

So, what is my solution for including a transparent and CMYK image in a PDF file that the publisher will be able to use?

  • You can convert the image to a CMYK PDF. There are a limited number of open source tools that can do this. At least try ImageMagick. Scribus might also suit you. Mar 2, 2020 at 3:17
  • You should seek another publisher. Every print shop must be able to correctly produce a valid PDF/X document. Since you are obviously not a color expert the conversion/separation should be done by the print shop. PDF/X-4 allows RGB content.
    – tanGIS
    May 2, 2020 at 16:18

1 Answer 1


Your only option is to convert the images to PDF which support CMYK and transparency and can by included by LaTeX.

You can do this using ImageMagick:

  1. Create a simple transparent PNG (for example only):

    convert magick:logo -transparent white logo.png
  2. Convert the PNG to a CMYK PDF (choose appropriate profiles for your printing environment):

    convert logo.png \
    -profile /usr/share/color/icc/sRGB_v4_ICC_preference_displayclass.icc \
    -profile /usr/share/color/icc/ISOcoated_v2_eci.icc logo.pdf
  3. Test with the following TeX file (tex_logo.tex):

    \begin{tikzpicture}[inner sep=0pt]
      % put a small grey square behind image to show the transparency
      \fill [black!20] (-1,-1) rectangle (1,1);
      \node at (0,0) {\includegraphics[width=54.19mm]{logo.pdf}};
  4. Use the GhostScript tiffsep device to produce separations and check that everything looks like it should:

    gs -dSAFER -dNOPAUSE -dBATCH -sOutputFile=tex_logo.tiff -sDEVICE=tiffsep \
    -sCompression=lzw -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
    -sDefaultRGBProfile=/usr/share/color/icc/sRGB_v4_ICC_preference_displayclass.icc \
    -sDefaultCMYKProfile=/usr/share/color/icc/ISOcoated_v2_eci.icc \
    -sOutputICCProfile=/usr/share/color/icc/ISOcoated_v2_eci.icc tex_logo.pdf

Here's the resulting composite output and separations:


Composite output

Cyan separation

Cyan separation

Magenta separation

Magenta separation

Yellow separation

Yellow separation

Black separation

Black separation

  • 1
    Such a nice suggestion...
    – MadyYuvi
    Mar 2, 2020 at 11:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .