代码之家  ›  专栏  ›  技术社区  ›  KyleL

如何强制Ghostscript使用CMYK颜色而不是RGB将PDF转换为单色位图?

  •  0
  • KyleL  · 技术社区  · 4 年前

    我有一个PDF文件,其中包含CMYK颜色为0,0,0100的黑色文本。当我使用ghostscript将其转换为“bmpmono”时,它会将其解释为不是100%黑色。我发现CMYK 0,0,0100实际上转换为36,32,33左右的RGB,而不是我预期的0,0,0(但已解释 here )。

    我相信现在发生的是重影脚本将CMYK转换为RGB,然后再转换为单色,所以我最终得到的是非全黑文本。有没有一种方法可以强制重影使用CMYK并直接转换为单色以保持100%的黑色?

    这是我的命令:

    gswin64c.exe -dNOPAUSE -sDEVICE=bmpmono -dBATCH -dDEVICERESOLUTION=200 -sOutputFile=testout.bmp -f source.pdf
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   user3798006    4 年前

    GS将通过定义的ICC配置文件进行从CMYK到Gray的转换。与[0 0 0 100]的CMYK值相比,存在较暗的CMYK值(对于GS定义的CMYK-源配置文件,以及大多数)。因此,[0 0 00 100]最终被映射到格雷输出空间中不是最暗的东西。

    有几个选择可以尝试

    -dUseFastColor

    这将避免使用ICC简档进行颜色映射并且使用具有UCR/BG类型映射的老派255-X。

    另一种选择是使用

    -dBlackText=真

    这将强制使用灰度值0填充(或描边)所有文本组件(类型3字体除外),该值应映射到bmpmono设备的0。