![为什么 XeTeX 将灰度 JPG 更改为 CMYK?](https://linux22.com/image/339748/%E4%B8%BA%E4%BB%80%E4%B9%88%20XeTeX%20%E5%B0%86%E7%81%B0%E5%BA%A6%20JPG%20%E6%9B%B4%E6%94%B9%E4%B8%BA%20CMYK%EF%BC%9F.png)
我一直以为没有一个引擎能够转换外部图像文件的颜色。但是今天我注意到,当使用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(来自pdflatex
和xetex
)都缺少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
中获得的值进行操作。
GCR
Maximum
然后,将您的灰度图像转换为您的自定义 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 R
XeLaTeX 生成的代码中看到一行。
因此,基于这个答案尤其是此代码,如注释中所示, 您可以使用:
\usepackage{eso-pic}
\AddToShipoutPicture{%
\makeatletter%
\special{pdf: put @thispage <</Group << /S /Transparency /I true /CS /DeviceGray>> >>}%
\makeatother%
}
这将为您制作具有您想要的颜色的单色 PDF:100% 黑色和 58% 灰色。