根据这个问题:
一些PDF文档在iOS设备上显示不正常,因为颜色不是RGB格式。文章还提到使用ghostscript可以自动将PDF从CMYK转换为RGB。有人知道实际命令应该是什么吗?
一些PDF文档在iOS设备上显示不正常,因为颜色不是RGB格式。文章还提到使用ghostscript可以自动将PDF从CMYK转换为RGB。有人知道实际命令应该是什么吗?
gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dCompatibilityLevel=1.4 -dColorConversionStrategy=/sRGB -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -sOutputFile=output.pdf input.ps
sips --matchTo '/System/Library/ColorSync/Profiles/Generic RGB Profile.icc' CMYKinput.pdf --out RGBoutput.pdf
gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dCompatibilityLevel=1.4 -dNOTRANSPARENCY -dColorConversionStrategy=/sRGB -dProcessColorModel=/DeviceRGB -dColorConversionStrategyForImages=/DeviceRGB -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dUseCIEColor=true -sOutputFile=output.pdf input.pdf
由于我在使用PHP处理它,因此我编写了一个简单的类:
/**
* Convert color profiles - PDF to PDF
* Class Conversor
*/
class Conversor
{
/**
* Convert CMYK to RGB
*
* @param $input
* @param $output
* @return string
*/
public static function gsCmykToRgb($input, $output)
{
$gsScript = ('gs -sDEVICE=pdfwrite \
-dBATCH -dNOPAUSE \
-dCompatibilityLevel=1.4 \
-dNOTRANSPARENCY \
-dColorConversionStrategy=/sRGB \
-dProcessColorModel=/DeviceRGB \
-dColorConversionStrategyForImages=/DeviceRGB \
-dTextAlphaBits=4 \
-dGraphicsAlphaBits=4 \
-dUseCIEColor=true \
-sOutputFile='."$output".' '."$input");
exec($gsScript);
return realpath($output);
}
}
podofocolor
http://podofo.sourceforge.net/
能够转换矢量对象
您可以尝试以这种方式将CMYK转换为灰度(适用于黑白非彩色页面):
podofocolor grayscale input.pdf output.pdf
如果二进制文件不在存储库中,不幸的是您需要自己构建。但是,我刚刚尝试使用
将PDF转换为灰度。gs -sOutputFile=output.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dCompatibilityLevel=1.4 input.pdf < /dev/null
预处理检查显示已将其转换为灰度,所以,也许我之前说gs只能转换pdf中光栅内容的颜色空间是错误的(因为我的pdf是矢量化的)。
-dColorConversionStrategy=/sRGB
和-dProcessColorModel=/DeviceRGB
,因此在命令行上不需要声明它(尽管也不会有害)。如果您想要将PDF颜色转换为CMYK,则需要使用-dColorConversionStrategy=/CMYK
和-dProcessColorModel=/DeviceCMYK
... - Kurt Pfeiflegs -sDEVICE=pdfwrite -dPDFX -dPDFSETTINGS=/prepress -dColorConversionStrategy=/sRGB -o output.pdf input.pdf
。我认为/prepress
选项为我提供了正确的设置。供参考,我还发现这个回答讨论GS图像处理/压缩非常有用:https://superuser.com/a/373740/684037 - Gerard Bosch