Imagick::getNumberImages

(PECL imagick 2, PECL imagick 3)

Imagick::getNumberImagesReturns the number of images in the object

Description

public Imagick::getNumberImages(): int

Returns the number of images associated with Imagick object.

Parameters

This function has no parameters.

Return Values

Returns the number of images associated with Imagick object.

Errors/Exceptions

Throws ImagickException on error.

add a note

User Contributed Notes 2 notes

up
3
benkuhl at gmail dot com
11 years ago
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.
up
2
gzabriskie at yahoo dot com
15 years ago
<?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>
To Top