(PECL imagick 2.0.0)
Imagick::getNumberImages — Returns the number of images in the object
Returns the number of images associated with Imagick object.
Returns the number of images associated with Imagick object.
错误时抛出 ImagickException。
benkuhl at gmail dot com (2013-01-24 19:26:18)
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.
gzabriskie at yahoo dot com (2009-04-07 05:21:12)
<?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>