我目前正在尝试在PDF上运行readimage()函数。
以下是当前代码:
$image = new Imagick();
$image->readImage($file_to_read);
// etc...
事实上,大多数PDF都可以正常使用此代码。但对于某些PDF,PHP只会在函数调用时挂起,不会抛出任何异常,也不会导致致命错误。有没有人知道为什么或解决方法?
感谢。
编辑:我刚刚在非工作pdf上运行$ gs -dNOPAUSE -sDEVICE=jpeg -r144 -sOutputFile=p%03d.jpg 8Jun2015.pdf
,它正确地将图像转换为jpg。但是readimage()仍然不能在同一个文件上工作。
答案 0 :(得分:1)
原来我必须指定文件路径。以下代码有效。
putenv("PATH=/usr/local/bin:/usr/bin:/bin");
$im = new Imagick();
$im->readImage($file_to_read);
如果它仍然不起作用,你可以清洁"使用gs的PDF。像这样:
$sh= shell_exec('/usr/local/bin/gs \
-o /repaired_pdf/' . $new_file_name . '\
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
' . $file_to_read);