Download and install right version of ghostscript. In my case my PHP was x86 architecture, so I download Ghostscript 9.14 for Windows (32 bit)
.
Check, is imagick
extension available and loaded.
This line should be present in your php.ini
:
extension=php_imagick.dll
Also, check php_imagick.dll
in PHP's ext
directory.
<?php
function genPdfThumbnail($source, $target)
{
//$source = realpath($source);
$target = dirname($source).DIRECTORY_SEPARATOR.$target;
$im = new Imagick($source."[0]"); // 0-first page, 1-second page
$im->setImageColorspace(255); // prevent image colors from inverting
$im->setimageformat("jpeg");
$im->thumbnailimage(160, 120); // width and height
$im->writeimage($target);
$im->clear();
$im->destroy();
}
Call that function:
<?php
genPdfThumbnail('/uploads/my.pdf','my.jpg'); // generates /uploads/my.jpg
below two questions to my own concept above:
A. Is it technically possible that a provided PDF contains zero pages, if so: how can we test this?
B. Can the img obtained from the PDF be 0 in width or height? As this would cause a NAN error.