Ghostscript:将带有图片的PDF从RGB转换为灰色

时间:2019-07-12 13:05:01

标签: pdf ghostscript cmyk

我曾经按照以下代码将带有rgb图片的pdf转换为

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
   -dEmbedAllFonts=true \
   -dPDFSETTINGS="/prepress" \
   \
   -sColorConversionStrategy=Gray \
   \
   -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode \
   -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode \
   -dMonoImageFilter=/FlateEncode \
   \
   -dDownsampleColorImages=false \
   -dDownsampleGrayImages=false \
   -dDownsampleMonoImages=false \
   \
   \
   -sOutputFile=$4 \
   -f "$1"

使用此代码不会更改为该图片的颜色模式。

如果在使用乳胶创建pdf之前,将包含的图片用gs转换为灰色(这是使用inkscape修改并保存为rgb的pdf),则可以使用。

使用的GS版本为9.26。 所用数据的链接:

  • 包含的图片:pdf
  • 已创建乳胶: pdf
  • 转换为灰色的pdf会导致问题: pdf

1 个答案:

答案 0 :(得分:0)

查看“灰色转换的pdf”文件,我发现内容完全在DeviceGray中。那么,您为什么认为不是呢?您如何确定“色彩模式”?

PDF文件确实包含透明度(毫无意义,但这就是您的Cairo),并且具有DeviceRGB混合模式。这不是Ghostscript的pdfwrite可以更改的内容,如果它更改了混合模式,则输出可能会出现不良情况。