코드는 다음과 같습니다.
function pdf2png($pdf,$path,$page=-1) { if(!extension_loaded('imagick')) { return false; } if(!file_exists($pdf)) { return false; } $im = new Imagick(); $im->setResolution(120,120); $im->setCompressionQuality(100); if($page==-1) $im->readImage($pdf); else $im->readImage($pdf."[".$page."]"); foreach ($im as $Key => $Var) { $Var->setImageFormat('png'); $filename = $path."/". md5($Key.time()).'.png'; if($Var->writeImage($filename) == true) { $Return[] = $filename; } } return $Return; } $path="tmp/tmp";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了 $s=pdf2png("./tmp/test.pdf",$path); $scount=count($s); for($i=0;$i<$scount;$i++) { echo "<div align=center><font color=red>Page ".($i+1)."</font><br><a href=\"".$s[$i]."\" target=_blank><img border=3 height=120 width=90 src=\"".$s[$i]."\"></a></div><p>"; }
PDF 파일도 존재합니다.
Imagick 확장을 사용하여 readImage() 메서드를 실행할 때 오류가 보고됩니다. 병렬컷 확장기능이 추가되었습니다
윈도우에 고스트스크립트도 설치했는데 오류는 다음과 같습니다
오류 보고 시 오류가 보고되지 않습니다. gshostscript 설치는 아무 소용이 없습니다. 이미지와 PDF를 읽고 오류를 보고하면 됩니다.
Imagick 확장 프로그램을 사용하여 readImage
를 실행하세요.