我正在使用imagick将pdf转换为jpg,如果我提供上传的pdf的直接路径而不指定页面,则脚本可以正常工作。但是,当我在文件路径的末尾添加
[0]
以指定我只想读取第一页时,它就会崩溃并显示以下错误:我也尝试过直接在构造函数中使用"致命错误:未捕获异常'ImagickException',消息为'提供的文件名无效' Imagick->readImage()"
'/path/to/file.pdf[0]'
,但没有成功,但是如果没有页面限定符号,则可以正常工作。根据文档,这应该是可以正常工作的。那么我错在哪里了?$doc_preview = new Imagick();
$doc_preview->setResolution(180,180);
$doc_preview->readImage('/path/to/file.pdf[0]');
$doc_preview->setImageFormat('jpeg');
$doc_preview->writeImage('/path/to/file.jpg');
$doc_preview->clear();
$doc_preview->destroy();
更新:我应该提到我正在使用HHVM。不确定这在这种情况下是否有差别...但我是。
更新2:我已经在HHVM的github仓库上开了一个问题。希望他们能修复这个错误......在那之前,我标记为正确的答案是一个不错的(虽然是hacky)解决方法。