Skip to content
Advertisement

Convert PDF to JPEG with PHP and ImageMagick

I’m using a litte script to convert PDF to JPG. That works but the quality is very poor.

The script:

$im = new imagick( 'document.pdf[ 0]' ); 
$im->setImageColorspace(255); 
$im->setResolution(300, 300);
$im->setCompressionQuality(95); 
$im->setImageFormat('jpeg'); 
$im->writeImage('thumb.jpg'); 
$im->clear(); 
$im->destroy();

One more thing, I want to keep the original size of the PDF but the conversion crops the size of the JPG.

Advertisement

Answer

It can be done using setResolution, but you need to do it before loading an image. Try something like this:

// instantiate Imagick 
$im = new Imagick();

$im->setResolution(300,300);
$im->readimage('document.pdf[0]'); 
$im->setImageFormat('jpeg');    
$im->writeImage('thumb.jpg'); 
$im->clear(); 
$im->destroy();
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement