【问题标题】:Ghostscript outputs blank pdfGhostscript输出空白pdf
【发布时间】:2013-12-22 09:02:24
【问题描述】:

我在 PHP 中使用以下命令将具有 RBG 颜色的 PDF 转换为 CMYK 颜色:

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

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

我使用的是 Ghostscript 8.71 版。

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

不知何故,结果总是一个空的 pdf 文件。有谁知道我做错了什么?

提前感谢您的任何回答,干杯!

一些参考资料:

【问题讨论】:

  • 这里有个思路:为什么不给exec()加一个参数来收集GS的输出,然后看看GS是否输出一些错误信息?
  • 这个版本的 GS 太旧了试试用 9.06 版本,对我来说比最新的更稳定

标签: linux pdf ghostscript imagick cmyk


【解决方案1】:

如果我省略 -dUseCIEColor 参数,它似乎可以工作。我还添加了一个参数来收集 Sami Laine 建议的输出。这是我的最终代码:

$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'
");

感谢您的回答!

【讨论】:

  • 开发人员说 (1,2,3,4) 没有 sColorConversionStrategyForImages 开关。
【解决方案2】:

除了 Sami 上面所说的(这是一个很好的建议,你需要看到反向通道输出)你还应该升级,8.71 已经很老了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2015-07-20
    相关资源
    最近更新 更多