如何在PHP中使用ImageMagick显示图像序列

时间:2018-07-09 13:26:46

标签: php imagick

for($i = 0; $i < 2; $i++) {
    $im = new imagick('fileuploads/filename.pdf['.$i.']');
    $im->setImageFormat('jpg');
    header('Content-Type: image/jpeg');
    echo $im;
}

上面的代码仅显示PDF文件的首页。

1 个答案:

答案 0 :(得分:0)

HTTP每个网址仅允许使用一种资源,因此,当访问您的预览网址时,他只能看到一个像 http://example.com/a.jpg 这样的图片,该图片只能打开 a.jpg ,而不能打开同时打开 b.jpg 。因此,您唯一的选择是创建大图像并复制要在预览中显示的pdf页面。我不确定,但是您可以尝试以下代码

$startPage  = 0; // from where to start
$countPages = 1; // how many pages

$pdf = '/pdf/mypdf.pdf[' . $startPage .'-'. $countPages . ']';

$image = new Imagick($pdf);
$image->resizeImage( 400, (($countPages-$startPage)+1)*400, imagick::FILTER_LANCZOS, 0);
$image->setImageFormat( "jpg" );

header('Content-Type: image/jpeg');
echo $im;