Aaron A
Aaron A

Reputation: 543

php imagick convert pdf to png high quality

I'm trying to convert a PDF to a high quality PNG via Imagick, but the file keeps coming out fuzzy. Currently, I'm running the following options but can't find the right flags to get a clear PNG out of the conversion. The original PDF file is 8.5 x 11. Suggestions? Thanks!

$image = new \Imagick(storage_path('app/'.$path));
$image->setResolution( 200, 200 );
$image->scaleImage(1700,2200);
$image->setImageFormat( "png32" );
$image->writeImage(storage_path('app/'.$split[0].'.png'));

Upvotes: 2

Views: 8801

Answers (2)

Henrique Abreu
Henrique Abreu

Reputation: 1

$imagick_i = new Imagick();
    $imagick_i->setResolution( 595, 842 );
    $imagick_i->readImageblob($blob);
    $imagick_i->setImageFormat( "png32" );
    foreach ($imagick_i as $auxiliaryvalue) {
        echo '<img src="data:image/png;base64,' .  base64_encode($auxiliaryvalue->getimageblob())  . '" /><br>';

    }

Upvotes: 0

Mark Setchell
Mark Setchell

Reputation: 208043

You need to set the resolution before reading the image because the image is rasterised when read, so it doesn't help to set the resolution afterwards - it's too late!

Try along these lines:

$imagick = new Imagick();
$imagick->setResolution(288,288);
$imagick->readImage('someFile.pdf');

Upvotes: 9

Related Questions