PDF 스크린샷을 png로 변환하려면 인터넷에 유통되는 프로그램을 사용하고, Imagic 확장 프로그램을 사용해야 합니다. Windows에 설치한 후 프롬프트는 다음과 같습니다.
Fatal error: Trying to clone an uncloneable object of class Imagick in C:wwwhxpdf_to_png.php on line 17
이 프롬프트는 IIS 및 Apache를 사용할 때 나타납니다. 많은 테스트 끝에 두 가지 해결책이 발견되었습니다.
1.php.ini; Zend Engine 1(PHP 4.x)과 호환 모드 활성화
zend.ze1_compatibility_mode = Off
변경 후 기본값은 On입니다. 끄면 해결됩니다.
2. imagick::...을 사용하여 호출합니다.
즉, $im->setResolution(120, 120);은 다음과 같이 다시 작성할 수 있습니다.
imagick::setResolution(120, 120)
다른 확장 프로그램에 이런 종류의 오류가 있는 경우 다음을 수행할 수 있습니다. 일반적으로 이 두 가지 방법을 사용하여 문제를 해결합니다.
pdf를 png로 변환하기 위한 프로그램 코드 조각이 첨부되어 있습니다.
코드 복사 코드는 다음과 같습니다.
function pdf2png($pdf, $filename, $page=0) {
if (!extension_loaded('imagick')) {
exit('no imagick')
return false; }
if (!file_exists($pdf)) {
return false
}
$im = new Imagick()
$im->setResolution(120, 120);
$im-> ;setCompressionQuality(100);
$im->readImage($pdf . "[" . $page . "]")
$im->setImageFormat('png ');
$ im->writeImage($filename);
$im->readImage($filename)
$im->resizeImage(120, 150, Imagick::FILTER_LANCZOS, 1); $im->writeImage($filename)
return $filename;
위 내용은 복제 가능한 콘텐츠를 포함하여 Imagic 클래스의 복제 불가능한 개체를 복제하려고 시도하는 복제 가능 프롬프트에 대한 솔루션을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구에게 도움이 되기를 바랍니다.