有人可以解释为什么即使使用了选项,DeviceGray
色彩空间模型也始终存在于输出中吗?xcolor
cmyk
我使用这个在线工具运行了 PDF 分析:https://www.setasign.com/products/setapdf-core/demos/get-colors-from-pdf-with-php/
% !TEX program = xelatex
\documentclass{article}
% [xetex,cmyk] => DeviceCMYK, DeviceGray
% [xetex] => DeviceGray
\usepackage[xetex,cmyk]{xcolor}
\begin{document}
test
\end{document}
答案1
颜色命令将一种颜色推送到堆栈上,并在组末尾从中恢复之前的颜色。
堆栈上的默认颜色是黑色,因此在外部组中弹出颜色时会得到以下颜色:
\RequirePackage{l3pdf}
\ExplSyntaxOn
\pdf_uncompress:
\ExplSyntaxOff
\documentclass{article}
\begin{document}
%\special{color push cmyk 0 0 0 1}
\special{color push cmyk 0 0 1 1}
test
\special{color pop}
\end{document}
这给出(稍微缩短并注释:):
0 0 1 1 K 0 0 1 1 k %<-- push color
BT /F1 9.9626 Tf 76.712 -62.765 Td[<0069003200620069>]TJ ET
0 G 0 g %<-- pop color
您可以通过先将不同的颜色压入堆栈来避免这种情况。如果您取消注释第一个特殊颜色,您将获得:
0 0 0 1 K 0 0 0 1 k
0 0 1 1 K 0 0 1 1 k
BT /F1 9.9626 Tf 76.712 -62.765 Td[<0069003200620069>]TJ ET
0 0 0 1 K 0 0 0 1 k