在 PDF 文件中使用 CMYK/透明图像

在 PDF 文件中使用 CMYK/透明图像

我正在使用 PDFX / Lualatex 创建 PDF/X-4 文件。我的问题是发布者希望文件中的图像为 CMYK。我的一些图像是透明的。

问题:

  • Latex 仅支持有限数量的图像格式,并且不允许 TIFF
  • PNG 图像可以具有透明度,但不支持 CMYK 颜色配置文件
  • JPG 图像支持 CMYK,但不能具有透明度

那么,我的解决方案是什么,可以在 PDF 文件中包含发布者可以使用的透明 CMYK 图像?

答案1

您唯一的选择是将图像转换为支持 CMYK 和透明度并可包含在 LaTeX 中的 PDF。

您可以使用 ImageMagick 执行此操作:

  1. 创建一个简单的透明 PNG(仅用于示例):

    convert magick:logo -transparent white logo.png
    
  2. 将 PNG 转换为 CMYK PDF(为您的打印环境选择合适的配置文件):

    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. 使用以下 TeX 文件进行测试(tex_logo.tex):

    \documentclass{standalone}
    \usepackage[cmyk]{xcolor}
    \usepackage{tikz}
    
    \begin{document}
    \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}};
    \end{tikzpicture}
    \end{document}
    
  4. 使用 GhostScripttiffsep设备进行分离并检查一切是否符合要求:

    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
    

以下是最终的复合输出和分离结果:

合成的

复合输出

青色分离

青色分离

洋红分离

洋红分离

黄色分离

黄色分离

黑色分离

黑色分离

相关内容