Ghostscript - 错误的 CMYK 颜色转换 - 100% 黄色转换为 98% 黄色?

Posted

技术标签:

【中文标题】Ghostscript - 错误的 CMYK 颜色转换 - 100% 黄色转换为 98% 黄色?【英文标题】:Ghostscript - Wrong CMYK Color Conversion - 100% Yellow convert to 98% Yellow? 【发布时间】:2015-06-16 14:14:49 【问题描述】:

我尝试将 CMYK .pdf 转换为具有良好 CMYK 百分比CMYK .tif

但我有一个奇怪的颜色转换

颜色:

看一些转换后的颜色来理解“奇怪”的转换:

100% 黄色 pdf 被转换为 98% 黄色 TIF:

PDF = C:0 M:0 Y:100 K:0
TIF = C:0 M:0 Y:98  K:0

100% Magenta 在 pdf 中被转换为 1C/100M/1Y TIF:

PDF = C:0 M:100 Y:0 K:0
TIF = C:1 M:100 Y:1  K:0

黑色很好(以及所有灰色调,例如 10%、20%...):

PDF = C:0 M:0 Y:0 K:100
TIF = C:0 M:0 Y:0  K:100

但是满100不好!?:

PDF = C:100 M:100 Y:100 K:100
TIF = C:73 M:68 Y:66  K:89

还有一个C100/M20错误(pdf总120 tif总121?):

PDF = C:100 M:20 Y:0 K:0
TIF = C:99 M:21 Y:1  K:0

文件:

下载源 PDF: [https://drive.google.com/file/d/0Byc9qwtxxi1dSlo2eHJxM1hpMU0/view?usp=sharing][1]

下载转换后的 TIF: [https://drive.google.com/file/d/0Byc9qwtxxi1dVWN6NWlBUEF0Z2c/view?usp=sharing][2]

!!!注意:在photoshop中打开文件可以正确预览 颜色并使用颜色选择器比较每种颜色的值。

命令:

我在谷歌上搜索并阅读了两周以来的所有 ghostscript 文档,这是我最好的 cmd :

gs -dNOPAUSE -dBATCH -dSAFER 
-sDEVICE=tiff32nc
-sDeviceNProfile 
-dKPreserve=2 
-dRenderIntent=1 
-dCOLORSCREEN=false 
-dNOINTERPOLATE 
-dUseCIEColor 
-dNOTRANSPARENCY 
-dGraphicsAlphaBits=4 
-dTextAlphaBits=4 
-dFirstPage=1 
-dLastPage=1 
-r600 
-sOutputICCProfile=USwebCoatedSOWPv2.icc 
-sOutputFile=CMYK.tif
CMYK.pdf

(Unix Ghostscript 9.10)

文档:

http://www.ghostscript.com/doc/9.10/GS9_Color_Management.pdf http://ghostscript.com/doc/current/Devices.htm#PDF

???

你怎么看?是错误还是错误的cmd!? 其他人有过这种经历吗?

谢谢,

更新 1

我把 cmd 减到最小:

gs -dNOPAUSE -dBATCH -dSAFER 
-sDEVICE=tiffsep 
-dKPreserve=2 
-sOutputFile=CMYK.tif 
-r300 
-dGraphicsAlphaBits=4 
-dTextAlphaBits=4 
-dFirstPage=1 
-dLastPage=1 
CMYK.pdf

并有同样错误的颜色转换。

对我来说,ICC 配置文件无法更改颜色百分比……100% 黄色就是 100% 黄色!不同意? (在所有情况下,无论是否使用 icc 配置文件,我们都会遇到相同的问题)

更新 2

一开始,我无法在photoshop中重现颜色“bug”,我以为是ghostscript。

但我发现 Photoshop 中“分配”和“转换”icc 配置文件之间的区别。

photoshop“分配”截屏视频:http://quick.as/r2jrTn4zw photoshop“转换”截屏:http://quick.as/xQzaHZ9xp

这不是错误!

新问题

当我们将 PDF 转换为 TIF 时,我们不能不使用 icc 配置文件吗?或使用 全局相同配置文件取消转换效果?

【问题讨论】:

【参考方案1】:

首先,更新到当前发布的 Ghostscript 版本。如果您仍然认为有问题,请在 httpss://bugs.ghostscript.com 上打开错误报告

如果您打开一个错误,请务必附上样本文件,并提供完整(尽可能简单)的命令行来重现问题。如果您使用的是 ICC 配置文件,您也需要提供该配置文件。

顺便说一句,我认为你也有一个错字'-sOutputICCProfile=USwebCoatedSOWPv2.icc'

哦,如果您打算获得良好的色彩管理,在任何情况下都不应设置 -dUseCIEColor。

我不清楚当您使用 ICC 配置文件更正输出时您期望 CMYK 值是什么,您肯定不希望它们保持不变吗?

【讨论】:

谢谢,我会尝试最后一个 Ghostscript 版本来比较。但我只在 Ubuntu 14.04.1 LTS 上使用 9.10!不是吗? 顺便说一句,我不同意您的说法,即使用 ICC 配置文件不能更改着色剂的百分比。这就是色彩管理工作流程的。在不同的设备上打印时颜色应该看起来相同,并且 ICC 配置文件会告诉颜色管理系统如何修改着色剂,以使它们在不同的墨水和基材上看起来相同。 我的意思是在 Photoshop 中...当我制作 100% 黄色的文档并更改颜色配置文件时,100% 黄色仍然是 100% (quick.as/r2jrTn4zw)。但你的意思是,ghostscript 制作和“硬”转换来模拟纸上的打印颜色? 好吧,你说得对;)我发现了“assign”和“convert”之间的区别(看看我的screencast)谢谢你,现在,我们正确地定义了我的问题!当我们将 PDF 转换为 TIF 时,我们不能不使用 icc 配置文件吗?还是使用全局相同的配置文件来取消转换效果? 您可以使用 -dUSEFASTCOLOR 完全禁用 ICC 工作流程。或者使用 input ICC 配置文件为您生成正确的输出。您可能应该阅读文档 /ghostpdl/gs/doc/GS9_Color_Management.pdf。我不是色彩管理方面的专家,但我相信使用相同的源和目标 ICC 配置文件不会导致整体变化。【参考方案2】:

我已经很接近了……这个记录很少的小选项:-dNOSUBSTDEVICECOLORS

gs -sDEVICE=tiff 32nc -dNOSUBSTDEVICECOLORS -sOutputFile=CMYK.tif CMYK.pdf

在我所有的测试中,最无法捕捉的是C100M100Y100K100......现在就像M100,K100,K50,M100C20,......!但只有 Cyan100 和 Yellow100 再次开启 99% !!!

我会得到它...下一个...

【讨论】:

以上是关于Ghostscript - 错误的 CMYK 颜色转换 - 100% 黄色转换为 98% 黄色?的主要内容,如果未能解决你的问题,请参考以下文章

Ghostscript 如何处理没有颜色的矢量对象

Ghostscript:获取用于从 PDF 渲染的 CMYK 值

Ghostscript 中的 CMYK 叠印和挖空

Ghostscript:将 PDF 转换为 CMYK EPS

使用 Ghostscript 更改 PDF 不透明度

rgb转换为cmyk颜色空间的举例