Imagick::getNumberImages()
(PECL imagick 2.0.0)
Returns the number of images in the object
说明
Imagick::getNumberImages(void): int
Returns the number of images associated with Imagick object.
返回值
Returns the number of images associated with Imagick object.
错误/异常
错误时抛出 ImagickException。
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.
<?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>