2010-11-20 36 views
0
<?php 
$im = new imagick('vui.pdf[0]'); 
$im->setImageFormat("png"); 
header("Content-Type: image/jpeg"); 
echo $im; 
?> 

我正在使用heliohost,但是当我运行这个脚本时,它向我展示了一个500内部服务器错误(http://iamsnoob.co.cc/open.php),为什么?为什么不想像工作?

+0

你确实有一个名为“vui.pdf [0]”的文件吗?错误日志中的任何内容? – deceze 2010-11-20 13:29:32

+0

是的,因为当我尝试将vui.pdf重命名为其他名称时,它告诉我它无法打开该文件:D – Snoob 2010-11-20 13:30:48

+0

最好的办法是获取错误日志并查看详细的错误消息 – 2010-11-20 13:36:24

回答

1

这是一个疯狂的猜测,但ImageMagick需要Ghostscript才能打开PDF文件。可能是Ghostscript不存在。

我会先尝试使用JPEG图像。如果它的语法相同,很可能就是这样。

最好的事情是查看错误日志并确切了解500错误。一些提供商通过他们的控制面板或FTP登录提供对错误日志的访问。

编辑:用户已这在PHP manual on Imagick说:

要加载图像(通常是矢量图像, 如PDF)比 图像的默认更大分辨率是,你必须设置 读取文件, 像在此之前分辨率:

<?php $im = new Imagick(); 
$im->setResolution(300, 300); 
$im->readImage("test.pdf"); ?> 

这可以由W是问题 - 尝试设置较低的分辨率。

+0

在许多共享主机平台上,内存非常有限,IMagick在大型300dpi PDF上耗费巨资,内存不足会导致500错误。 – Orbling 2010-11-20 14:54:07