1

这是我得到的代码,它工作正常。我只是不相信这是做到这一点的“最佳”方式。

<?
    $im = new imagick();
    $im->setResolution(10,10);
    $im->readimage('document.pdf');
    $pages = $im->getNumberImages();
    $im->clear();
    $im->destroy();

    for($i=0;$i<$pages;$i++) {
        $im = new imagick();
        $im->setResolution(100,100);
        $im->readimage('document.pdf['.$i.']');
        $im->setImageFormat('jpeg');
        $im->writeImage($i.'.jpg');
        $im->clear();
        $im->destroy();
    }
?>

任何人都知道如何以最好的方式做到这一点?请告诉我如何。

4

1 回答 1

2

希望这会对某人有所帮助。

我的解决方案是使用writeImages方法。确保将$adjoin标志设置为 false 以获取单独的文件。

$im = new imagick();
$im->setResolution(100,100);
$im->readimage('document.pdf');
$im->setImageFormat('jpeg');
$im->writeimages('document.jpg', false);
$im->clear();
$im->destroy();

它将导致document-0.jpg、document-1.jpg、document-3.jpg等。

于 2013-10-14T12:11:05.553 回答