(PECL imagick 2, PECL imagick 3)
Imagick::getNumberImages — Returns the number of images in the object
Returns the number of images associated with Imagick object.
This function has no parameters.
Returns the number of images associated with Imagick object.
Throws ImagickException on error.
<?php
/* Create the object */
$image = new Imagick('YourImageLocation.tif');
$count = $image->getNumberImages();
echo "<h3 style=\"font: bold 12pt Arial\">Total Number of Images Extracted ".
"from the TIF : ".$image->getNumberImages()."</h3>";
for ($x = 1;$x <= $image->getNumberImages(); $x++) {
$image->previousImage();
$image->thumbnailImage( 400, null );
$image->writeImage('img'.$count.'.png');
$count--;
}
?>
<html>
<head>
<title>Extracting Images Form TIFF</title>
</head>
<body>
<table cellspacing="10" style="background: #ddd"><tr>
<?php
for ($x = 1;$x <= $image->getNumberImages(); $x++) {
echo "<td><img src=\"img$x.png\"<br /><p style=\"font: bold 12pt Arial;".
"text-align: center\">image $x (png)</p></td>";
}
?>
</tr></table>
</body>
</html>For PDFs this function indicates the number of pages on the PDF, NOT images that might be embedded within the PDF.
<?php
$document = new Imagick('2_pager.pdf');
var_dump($document->getNumberImages()); //returns 2
$document = new Imagick('1_pager.pdf');
var_dump($document->getNumberImages()); //returns 1
?>
From my research it is not possible to obtain the images embedded within a PDF by using the PHP Imagick library.