PHP에서 PDF를 이미지로 변환하는 방법: 먼저 "GhostScript"를 설치한 다음 imagick을 사용하여 PDF를 이미지로 변환하세요.
추천: "PHP 비디오 튜토리얼"
PHP에서 imagick을 사용하여 PDF를 이미지로 변환
PHP 매뉴얼에는 imagick에 대한 설명이 정말 간결하고, 각 멤버 기능을 클릭하면 열면 다음 텍스트가 표시됩니다:
Warning This function is currently not documented; only its argument list is available.
지금 PHP 로딩 문제를 해결한 후 이미지를 처리하는 것이 매우 편리합니다. 온라인에서 다음 단락을 찾았습니다.
<?php Header("Content-type: image/jpeg"); /** * 缩小图片尺寸. * * @param $image 待处理的二进制图片 * @param $width 处理后图片尺寸的宽度(px) * @param $height 处理后图片尺寸的高度(px) * @param $crop 是否裁剪图片 * * @return 处理好的二进制图片 */ function resize($image, $width, $height, $crop) { $imagick = new Imagick($image); $w = $imagick->getImageWidth(); $h = $imagick->getImageHeight(); if ($w > $width || $h > $height) { if ($crop) { $imagick->cropThumbnailImage($width, $height); } else { $imagick->resizeImage($width, $height, Imagick::FILTER_LANCZOS, 1, true); } } $processed_image = $imagick->getImageBlob(); return $processed_image; } $s=resize("123.jpg", 60, 40, 1); echo $s; ?>
하지만 이 확장 프로그램을 사용하여 수행하려는 작업은 변환입니다. PDF를 PNG로. PDF!
<?php /** * PDF2PNG * @param $pdf 待处理的PDF文件 * @param $path 待保存的图片路径 * @param $page 待导出的页面 -1为全部 0为第一页 1为第二页 * @return 保存好的图片路径和文件名 */ 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="images";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了 $s=pdf2png("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 style="max-width:90%".$s[$i]."" alt="PHP에서 PDF를 그림으로 변환하는 방법" ></a></div><p>"; } ?>
위와 비슷한가요? 하지만 항상 실패합니다. readImage 측에 예외가 있습니다. 오류 출력을 확인하세요.
PHP Fatal error: Uncaught exception 'ImagickException' with message 'PostscriptDelegateFailed `test.pdf': No such file or directory'
Baidu Google을 오랫동안 사용하다가 마침내 아이디어가 떠올랐습니다. Postscript 아닌가요? 나는 그것을 찾고 있는 척하고 있다.
이 포스트스크립트는 실제로 GhostScript입니다.
설치 후 실행하면 OK!
위 내용은 PHP에서 PDF를 그림으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!