Question

I'm using following command in PHP to convert a PDF with RBG colors to CMYK colors:

$input  = PDF_DIR . 'input.pdf';
$output = PDF_DIR . 'output.pdf'

exec("'gs'
      '-sDEVICE=pdfwrite'
      '-dUseCIEColor'
      '-sProcessColorModel=DeviceCMYK'
      '-sColorConversionStrategy=CMYK'
      '-sColorConversionStrategyForImages=CMYK'
      '-sOutputFile=$output'
      '$input'
");

I am using Ghostscript version 8.71.

gs -v
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.

Somehow the result is always an empty pdf file. Does anyone know what I'm doing wrong?

Thanks in advance for any answers, Cheers!

Some references:

Was it helpful?

Solution

It seems to work if I omit the -dUseCIEColor parameter. I also added an parameter to collect the output like Sami Laine suggested. This is my final code:

$input  = PDF_DIR . 'input.pdf';
$output = PDF_DIR . 'output.pdf'

exec("'gs'
  '-o $return'
  '-sDEVICE=pdfwrite'
  '-sProcessColorModel=DeviceCMYK'
  '-sColorConversionStrategy=CMYK'
  '-sColorConversionStrategyForImages=CMYK'
  '-sOutputFile=$output'
  '$input'
");

Thank you for your answers!

OTHER TIPS

In addition to what Sami says above (which is excellent advice, you need to see the back channel output) you should also upgrade, 8.71 is quite old.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top