PHP-Imagick PDF迭代-用另一个Imagick图像替换一个Imagick图像

PHP-Imagick PDF迭代-用另一个Imagick图像替换一个Imagick图像,php,pdf,imagick,Php,Pdf,Imagick,欢迎大家 我正在尝试读取PDF文档的所有页面并将其转换为jpeg格式。 到目前为止,它工作得很好,但我在尝试将一个imagick实例克隆到另一个实例时遇到了麻烦 代码不仅仅是文字,所以: $images = new Imagick(); $images->readimage($file['tmp_name']); for($pageCounter = 0; $pageCounter < $images->getnumberimages(); $pageCounter++) {

欢迎大家

我正在尝试读取PDF文档的所有页面并将其转换为jpeg格式。 到目前为止,它工作得很好,但我在尝试将一个imagick实例克隆到另一个实例时遇到了麻烦

代码不仅仅是文字,所以:

$images = new Imagick();
$images->readimage($file['tmp_name']);

for($pageCounter = 0; $pageCounter < $images->getnumberimages(); $pageCounter++) {
    $pagenumber = $pageCounter + 1;
    $currentfilename = $filename . "_$pagenumber.jpg";
    // iteration position
    $images->setIteratorIndex($pageCounter);

    $bigImage = new Imagick();
    $thumbImage = new Imagick();

    //I need to set the resolution to the original, that's why I need the
    //$images variable. Is there another way to do it?
    $bigImage->setresolution($images->getimagewidth(), $images->getimageheight());
    $thumbImage->setresolution(240, 100);

    //To avoid reading the same PDF-file twice (or three times in this case)
    //i need to set the image of the new instances to the $images variable
    //I figured that because the iterator has been set, I could just set the image
    $bigImage->setimage($images);
    $thumbImage->setimage($images);

    $bigImage->scaleImage($images->getimagewidth(), $images->getimageheight());
    $thumbImage->scaleimage(240, 0);

    $bigImage->setImageFormat('jpeg');
    $thumbImage->setimageformat('jpeg');

    $bigImage->setImageBackgroundColor('white');
    $thumbImage->setimagebackgroundcolor('white');

    $bigImage->setImageCompressionQuality(100);
    $thumbImage->setimagecompressionquality(100);

    $bigImage = $bigImage->flattenimages();
    $thumbImage = $thumbImage->flattenimages();

    $bigImage->writeImage($bigPath . $currentfilename);
    $thumbImage->writeImage($thumbPath . $currentfilename);

    $bigImage->clear();
    $thumbImage->clear();
    $bigImage->destroy();
    $thumbImage->destroy();
}

$images->clear();
$images->destroy();
$object->setPicture($thumbPath . $filename."_1.jpg");
我收到一条错误消息,说我正在尝试使用一个空的Imagick对象

我也欢迎任何关于如何改进此代码的帮助