在没有ImageMagick的情况下,使用PHP将PDF转换为图像

时间:2012-09-12 12:38:44

标签: php linux image pdf imagemagick

我有一个需要PDF到图像转换的PHP网站,我们显然正在使用imagemagick。 但是,现在我们正在尝试迁移到不同的托管,似乎我将无法在新托管上安装imagemagick软件包来执行与现在相同的操作。

所以问题是 - 是否有任何方法可以使用纯PHP方法将PDF转换为图像,或者使用其他任何可以刚刚弹出到DOCUMENT_ROOT并且无需正确安装到系统中的方法。

这是一个Linux系统,但我不知道是什么发行版,我无法检查,因为我在这个系统中的权利真的有限。

感谢 亚历克斯。

2 个答案:

答案 0 :(得分:9)

  

“[...]需要PDF才能进行图像转换,我们显然正在使用imagemagick。”

这根本不明显。

因为 ImageMagick无法将PDF 转换为图像全部。它需要使用Ghostscript作为其'委托'。所以你可能已经安装了ImageMagick,但没有安装Ghostscript,它将无法正常工作。

反之亦然,您可以安装Ghostscript但不能安装ImageMagick - 您仍然可以轻松地将PDF转换为图像。例如,转换为分辨率为144 DPI的JPEG(没有指定一个,你得到72 DPI):

gs              \
  -o out.jpg    \
  -sDEVICE=jpeg \
  -r144         \
   in.pdf

此外,您可以随意在任何地方安装Ghostscript。

顺便说一下:我会关闭一个不提供ImageMagick或Ghostscript安装的托管服务提供商,更不用说不允许自己安装了... )

答案 1 :(得分:4)

在Linux系统上,静态链接的东西可以在没有外部库依赖的情况下工作。因此,如果您可以获取/创建静态链接的imagemagick可执行文件,则可以直接在docroot下使用它。可能它不是那么微不足道。

或者您可以使用远程站点为您进行转换。喜欢: http://pdf2jpg.net/ (对于发布上传表格,如此卷曲将非常有用。)

相关问题