Ghostcript 将 PDF 从 RGB 转换为 CMYK 也会产生 DeviceGray 对象

Ghostcript Converting PDF from RGB to CMYK also produces DeviceGray object

我正在尝试使用 Ghostscript 将具有 RGB 颜色的 PDF 文件转换为 CMYK 颜色。我的 PDF 中的蓝色可以很好地转换为 DeviceCMYK。但是,当我在 Adob​​e Acrobat 中执行输出预览时,纯白色(即 RGB 255、255、255)不会显示在 CMYK 分色中。当我使用 Acrobat 的对象检查器时,它显示我的白色具有 ColorSpace=DeviceGray 和 ColorValues=1.0(即白色)。

这是我使用的命令的最简单形式:

ghostscript\gswin32c.exe -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sColorConversionStrategy=CMYK -sOutputFile="cmyk.pdf" "rgb.pdf"

我想强制这些白色为 ColorSpace=DeviceCMYK 和 ColorValues=0, 0, 0, 0。(这是 Acrobat 的 Convert Colors 产生的结果)。我怎样才能做到这一点?我试着浏览文档并尝试各种我不完全理解的开关,但到目前为止结果总是一样的。 如果重要的话,Ghostscript 的版本是 9.21

可以在这里下载输入和输出文件:https://ufile.io/f/faxbb

很简单,你做不到。 pdfwrite 设备将 DeviceGray 视为 CMYK 的子集(它是 K 通道),如果它找到 DeviceGray 颜色,它将原样保留它。但是,真正的 RGB 颜色应该转换为 CMYK。

您没有提供原始文件,所以我无法检查或尝试。

你应该升级了,9.21 已经 3 岁了,9.53.0 今天发布了。

编辑

我检查了代码,这实际上是一个优化。 C=M=Y=0、K=% 或 R=G=B 在写出时会转换为 DeviceGray(但仅当您使用 ColorConversion 时!)。这是因为单个分量浮点值比三个浮点值更小,所以你得到一个更小的 PDF 文件。

如果任何专业打印服务无法在 DeviceGray 中打印颜色,我会感到震惊。我也在寻找一台新打印机!