PHP 매뉴얼에는 imagick에 대한 설명이 정말 간결하게 나와 있습니다. 각 멤버 함수를 클릭하여 열면 다음 텍스트가 표시됩니다.
방금 PHP 로딩 문제를 해결한 후, 온라인에서 다음 단락을 찾았습니다.
이미지를 처리하는 것이 매우 편리합니다.
하지만 제가 이 확장 기능으로 하고 싶은 것은 PDF를 PNG로 변환하는 것입니다. PDF!
/**
* PDF2PNG
* @param $pdf 처리할 PDF 파일
* @param $path 저장할 이미지 경로
* @param $page 내보낼 페이지 -1은 전체, 0은 첫 번째 페이지, 1은 두 번째 페이지
* @return 저장된 이미지의 경로와 파일명
*/
함수 pdf2png($pdf,$path,$page=-1)
{
if(!extension_loaded('imagick'))
{
false 반환;
}
If(!file_exists($pdf))
{
false 반환;
}
$im = 새로운 Imagick()
$im->setResolution(120,120)
$im->setCompressionQuality(100);
if($page==-1)
$im->readImage($pdf);
그 외
$im->readImage($pdf."[".$page."]");
foreach($im은 $Key => $Var)
{
$Var->setImageFormat('png')
$filename = $path."/".md5($Key.time()).'.png';
If($Var->writeImage($filename) == true)
~
$Return[] = $filename
}
반환 $반환
}
$path="images";//항상 사용되는 폴더이므로 확인하지 않습니다
$s=pdf2png("test.pdf",$path);
$scount=count($s);
for($i=0;$i<$scount;$i )
{
echo "
페이지 ".($i 1)."![]()
";
}
?>
위의 내용과 비슷한가요? 하지만 항상 실패합니다. readImage 측에 예외가 있습니다. 오류 출력을 확인하세요.
PHP 치명적인 오류: 'PostscriptDelegateFailed `test.pdf': 해당 파일이나 디렉터리가 없습니다' 메시지와 함께 포착되지 않은 예외 'ImagickException'
Baidu와 Google을 오랫동안 검색한 끝에 마침내 아이디어가 떠올랐습니다. Postscript 아닌가요? 나는 그것을 찾고 있는 척하고 있다.
이 Postscript는 실제로 GhostScript입니다.
설치 후 실행하면 OK!
