2

我希望 ImageMagick 与 gs 和 imagick 一起工作。我正在尝试执行代码行(它获取多页/图层 pdf 的第一行以显示它)。此代码不应该是错误的来源,它是服务器端问题。

$img = new Imagick($pdf_file."[0]");

在源网页上,我收到此错误:

exception 'ImagickException' with message 'Postscript delegate failed...

我已经做了很多谷歌搜索/尝试来解决这个问题。我有:

  • 重新安装了 gs 和 ImageMagick(由于我使用的是 RC 而不是稳定版,目前 imagick 给了我一个奇怪的错误)
  • 将扩展名添加到 php.ini (imagick.so)
  • 重新配置 ImageMagick 安装以包括 --with-gslib(gs 已添加到列表中)
  • 动态链接的 /usr/bin 的(用于 gs)
  • 其他一些东西(是的,它们都可用并已安装)。

convert 命令确实有效,我已经测试并确认了它的用法,它运行良好,没有错误。生成的 PDF 完美显示。

convert test.pdf test2.pdf

我已经用尽了我能想到的几乎所有东西,以及谷歌和其他网站提供的大部分内容。有人对解决此问题的最佳方法有任何建议吗?我很高兴生成日志等,只是不确定究竟什么会帮助解决这个错误。

4

1 回答 1

1

在您处理PDF时,我对提到PostScript委托的消息有点怀疑……您确定您确实将 PDF,而不是 PostScript 提供给您的 ImageMagick 进程。

在调试的第一阶段,您应该将-verbose参数添加到您正在运行的任何 ImageMagick 命令中。这将(至少)向您显示 IM 用于调用 Ghostscript 的确切命令行。然后你可以手动运行这个 GS 命令,看看你可能会得到什么样的错误信息。接下来,您可以运行此 GS 命令,但添加一个-dDEBUG以获取更多信息。

在调试的第二阶段,您可以添加-debug configure, -debug traceand -debug all(如果您知道如何解释打印的信息,它可能会或可能不会给您额外的线索)...特别是如果您与convert -list delegate.

于 2012-10-14T19:49:57.577 回答