php imagick库处理pdf问题

falsefame 2013-08-05 03:09:43
Fatal error: Uncaught exception 'ImagickException' with message 'unable to open image `papers/1375680721.pdf': No such file or directory @ error/blob.c/OpenBlob/2622' in C:\xampp\htdocs\fc\editpaper.php:38 Stack trace: #0
C:\xampp\htdocs\fc\editpaper.php(38): Imagick->readimage('papers/13756807...') #1 C:\xampp\htdocs\fc\editpaper.php(108): pdf2png('papers/13756807...', 'papers/', 0) #2 C:\xampp\htdocs\fc\editpaper.php(211): anli->insert('') #3 {main} thrown in C:\xampp\htdocs\fc\editpaper.php on line 38

报如下错误
function pdf2png($PDF,$toPath,$page){   
if(!extension_loaded('imagick')){
echo "imagick";
return false;
}
if(!file_exists($PDF)){
echo "noexists";
return false;
}
$IM = new imagick();
$IM->setResolution(1000,2000);
$IM->setCompressionQuality(100);
$IM->readImage($PDF."[".$page."]");
foreach ($IM as $Key => $Var){
$Var->setImageFormat('png');
$Filename = $toPath.time().'_'.$Key.'.png';
if($Var->writeImage($Filename) == true){
$Return[] = $Filename;
}
}
return $Return;
}
...全文
427 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010264677 2014-02-20
  • 打赏
  • 举报
回复
引用 5 楼 falsefame 的回复:
[quote=引用 3 楼 xuzuning 的回复:] 'unable to open image `papers/1375680721.pdf': No such file or directory “无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
if(!file_exists($PDF)){ echo "noexists"; return false; } 如果文件真不存在,过不了这个判断的[/quote] 要不,你看下这个帖子吧,好像也是类似的问题 http://stackoverflow.com/questions/4637251/unable-to-open-image-error-when-using-imagemagicks-filename-references
beyondcj 2013-08-24
  • 打赏
  • 举报
回复
cayoun2 2013-08-22
  • 打赏
  • 举报
回复
Windows系统下运行,还需要装一个安装软件ghostscript;下载地址:http://downloads.ghostscript.com/public/gs904w32.exe ; 祝你成功。
xuzuning 2013-08-06
  • 打赏
  • 举报
回复
if(!file_exists($PDF)) 只是检查了 $PDF 指向的文件是否存在 而你打开 pdf 的语句是 $IM->readImage($PDF."[".$page."]"); 显然 $PDF 和 $PDF."[".$page."]" 不是一回事 你的这个写法是从哪里看来的?请给出出处! 我搜索到的相关代码中都没有见到这个写法 如果说 $PDF."[".$page."]" 是表示 $PDF 的第 $page 也得话,那么若 $page 所表示的页不存在的话,是否也应该报错呢? 我没有 imagick 环境,无法测试。只是按常理推导
falsefame 2013-08-06
  • 打赏
  • 举报
回复
引用 6 楼 sjqzone 的回复:
看看是不是文件权限问题,把papers/1375680721.pdf,权限设成777
也不是权限问题,我怀疑是imagemagick有问题,我打开imagemagick把pdf文件丢进去,提示
sjqzone 2013-08-05
  • 打赏
  • 举报
回复
看看是不是文件权限问题,把papers/1375680721.pdf,权限设成777
falsefame 2013-08-05
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
'unable to open image `papers/1375680721.pdf': No such file or directory “无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
if(!file_exists($PDF)){ echo "noexists"; return false; } 如果文件真不存在,过不了这个判断的
falsefame 2013-08-05
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
'unable to open image `papers/1375680721.pdf': No such file or directory “无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
@ error/blob.c/OpenBlob/2622' 这个错误是什么意思?
xuzuning 2013-08-05
  • 打赏
  • 举报
回复
'unable to open image `papers/1375680721.pdf': No such file or directory “无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
falsefame 2013-08-05
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
他说的很明确了,papers/1375680721.pdf 不存在
不是这个原因,文件是存在的
xuzuning 2013-08-05
  • 打赏
  • 举报
回复
他说的很明确了,papers/1375680721.pdf 不存在

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧