为什么 XeTeX 将灰度 JPG 更改为 CMYK?

为什么 XeTeX 将灰度 JPG 更改为 CMYK?

我一直以为没有一个引擎能够转换外部图像文件的颜色。但是今天我注意到,当使用xelatex而不是 时,灰度图像不知何故会转换为 CMYK pdflatex

这是我的测试代码:

% !TeX program = xelatex
\documentclass{scrreprt}

\usepackage{graphicx}

\usepackage{metalogo}

\begin{document}
With \XeTeX
%With \LaTeX

\vspace{10mm}
\includegraphics{image}
\end{document}

您可以在此处下载图像文件、我的代码和生成的 PDF:grayscale-test.zip

这是使用 Acrobats 分色预览显示的结果。如您所见,由 生成的 PDFxelatex具有 CMYK 图像,而使用 生成的 PDFpdflatex仅保留灰色 (K)(图像的源文件相同!)。

比较结果

(十字表示测量点)


更新

与此同时,一位同事告诉我,两个 PDF(来自pdflatexxetex)都缺少OutputIntent。因此,实际上嵌入的图像是灰度的,但 Acrobat 不知道如何解释它们(我不知道两个引擎之间的区别是什么)。因此,图像似乎是 CMYK 的,并被解释为 CMYK,但实际上是灰度的。

这是预检结果;显示图像本身仍然是灰度的。

预检结果

答案1

为什么 XeTeX 将灰度 JPG 更改为 CMYK?

简短回答:XeLaTeX 和 pdfTeX 都没有转换图像。证明:在 Acrobat Pro 中导出图像,您会在两个引擎中得到灰度伽马 1.8 .jpg。

XeLaTeX 行为是使用 CMYK 打印机打印灰度图像时的标准方式。这会导致黑色变深,但可能会出现套准错误。

长答案:

其他人已经提到您应该使用 OutputIntent。他们说得对,但它没有回答问题。

如果您打算在只使用黑色墨水的打印机上打印文档,那么您显然会只使用黑色打印所有色调。纯黑色墨水是您能得到的最暗的颜色。

但是,如果您在 CMYK 打印机上打印文档(当今的标准情况),则有多种打印黑色的方法。一种选择是将黑色打印为 100% 青色、洋红色和黄色,就像您期望的那样减色理论。但在现实世界中,这会导致棕黑色。而且由于油漆层太多,油漆干得不够快(液体油漆)或粘在纸上不够好(数字/激光打印)。

在实践中,黑色和深灰色被打印为漆黑一片(德语蒂夫施瓦茨)。这意味着您使用所有四种颜料,青色、洋红色和黄色的值在 60​​% 到 70% 之间,黑色的值在 ~90% 之间。详细值取决于纸张。更昂贵的纸张可以容纳更多的墨水,因此显示更深的黑色。

(旁注:这就是为什么OutputIntent不仅有一个 ICC 配置文件,而且还有一个纸张类型,以及一个参考印刷条件。)

每种转换方法都有其优点和缺点。XeTeX 方法(称为色彩还原不佳) 可产生较深的黑色,但可能会出现配准误差,因为不同的颜料不会 100% 覆盖在一起。此外,灰色阴影看起来可能不那么中性。这是图像的首选方法。pdfTeX 应用的灰色分量替换 (GCR) 不会出现配准误差,但黑色不会太深。这是细线图形的首选方法。

那么你的“G”是图像还是图形?这里可以使用这两种方法,但由于它是与普通文本一起的图形字母(始终仅打印为黑色),因此我更喜欢 pdfTeX 方法。这样两个字母看起来都是相同的黑色。

那么问题是什么呢?在我看来,最好将灰度图像定义为 CMYK,并选择最适合内容的颜色方法。因为从 CMYK 到灰度的转换是一个函数,所以您仍然可以在 ab/w 打印机上获得正确的值。但反过来,您会得到多个解决方案。

假设您想按照我的建议仅使用黑色,并且图像已经存在:如何正确转换?在 Photoshop 中,转到颜色设置 (Shift+Ctrl+K),单击,然后按照您从印刷店选择和黑色生成Custom CMYK中获得的值进行操作。 GCRMaximum在此处输入图片描述
然后,将您的灰度图像转换为您的自定义 CMYK 配置文件。

PS:您在问题中展示了 Acrobat 打印预览的屏幕截图。但最重要的设置是裁剪:模拟配置文件。否则,您会看到,使用 UCR/XeTeX,确切的值会根据您选择的打印条件而变化。

答案2

我有一个灰度文件,其中嵌入了颜色配置文件“网点增大 20%”。在 Photoshop 中删除此颜色配置文件可以(部分)解决问题。

您还有其他选择:

  • 删除颜色配置文件convert original.jpg +profile "*" clean.jpg
  • 使你的最终 pdf 变成灰度:

    gs -o path/to/output.pdf  \
       -sDEVICE=pdfwrite \
       -dPDFSETTINGS=/prepress \
       -sColorConversionStrategy=Gray \
       -sColorConversionStrategyForImages=Gray \
       -sProcessColorModel=DeviceGray \
       -dCompatibilityLevel=1.4 \
       /path/to/input.pdf
    

更新: 我不知道为什么,但删除“网点扩大 20%”配置文件后的灰度照片变得更暗以 PDF 格式。因此,还有一个选项是:

  • 通过 Photoshop“另存为...”将图像转换为 PDF,保留“点增益 20%”配置文件,并\includegrahics{my-grayscale-image.pdf}在 TeX 文件中使用。这会稍微增加文件大小,但效果会更好。

更新 2: 如果您查看 PDF 文件的代码,您将/ColorSpace /DeviceGray在 pdfLaTeX 和 luaTeX 生成的代码以及/ColorSpace 8 0 RXeLaTeX 生成的代码中看到一行。

因此,基于这个答案尤其是此代码,如注释中所示, 您可以使用:

\usepackage{eso-pic}

\AddToShipoutPicture{%
\makeatletter%
     \special{pdf: put @thispage <</Group << /S /Transparency /I true /CS /DeviceGray>> >>}%
\makeatother%
}

这将为您制作具有您想要的颜色的单色 PDF:100% 黑色和 58% 灰色。

相关内容