gpt4 book ai didi

php - 我无法使用 ImageMagick 进行转换

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:34 26 4
gpt4 key购买 nike

我正在使用 ImageMagick 转换 PDF 文件。

我使用这个 PHP 片段:

$cadena = "/usr/local/bin/convert -density 100 -colorspace rgb ".$name_path." ".$images_path."/convert.png";
shell_exec($cadena);

其中 $name_path 是 PDF 文件目录,$images_path 是图像目录。

此代码在控制台 (CentOS) 中运行完美。但是当我尝试在 PHP 中使用 shell_exec() 函数时,它抛出了这个错误:

***warning: considering '00000000 xxxxx n' as free entry.
*** this file had erros thah were repaired or ignored.

文件和文件夹的权限是777。我不知道为什么。有人可以帮助我吗?

最佳答案

首先,有两个观察结果:

  1. 您看到的消息不是来自 ImageMagick,而是来自 Ghostscript。
  2. 该消息不是错误消息,而只是警告

因此很可能您的转换确实有效并且您将在 $image_path 中获得所需的输出。你检查了吗?

然后,再补充三点:

  1. ImageMagick 本身不会也不能处理输入的 PDF。它使用 Ghostscript 作为其委托(delegate),首先将 PDF 转换为图像格式,然后由 ImageMagick 接管以进行进一步处理。
  2. 您在 CentOS 控制台中执行的 Ghostscript 版本不一定与您的 PHP shell_exec 执行的版本相同。您应该检查这两种情况。执行此操作的控制台命令是 gs -version。如果您有不同的版本,这可以解释为什么您在一个实例中看到警告消息,而在另一个实例中却看不到。
  3. 您可以将 -verbose 添加到您的命令(shell_exec 以及在控制台中)以查看 IM convert 命令的 Ghostscript 实例调用“在你背后”......

关于php - 我无法使用 ImageMagick 进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com