PHP-Imagick不良的pdf质量

我正在尝试将pdf文件的第一页转换为jpeg。即使我不使用压缩,也会得到质量很差的图像。这是我使用的代码:

<?php
$im = new Imagick("filename.pdf[0]");
$im->setCompression(Imagick::COMPRESSION_JPEG); 
$im->setImageCompressionQuality(100);
$im->setImageFormat('jpeg');

$im->writeImage('filename.jpg');
$im->clear(); 
$im->destroy();
echo "<img style=\"border:0.5px solid black;\" src=\"filename.jpg\">";
?>

第一个是原始pdf,第二个是转换后的图像:

PHP-Imagick不良的pdf质量

PHP-Imagick不良的pdf质量

qingfeng24 回答:PHP-Imagick不良的pdf质量

您需要设置图像分辨率。

尝试:

<?php 

    $im = new Imagick();
    $im->setResolution(250,250);
    $im->readImage("filename.pdf[0]") ;
    $im->setImageResolution(250,250);
    $im->flattenImages();
    $im->setImageFormat('jpeg');
    $im->setImageCompression(imagick::COMPRESSION_JPEG);
    $im->setImageCompressionQuality(100);

    # Combine multiple images into one,stacked vertically.
    # In case you have multiple pdf pages.
    //$im->resetIterator();
    //$im = $imagick->appendImages(true);


    $im->writeImage('filename.jpg');
    $im->clear(); 
    $im->destroy();
    
    echo "<img style=\"border:0.5px solid black;\" src=\"filename.jpg\">";

?>
本文链接:https://www.f2er.com/2332233.html

大家都在问