php imagick 将 pdf 高质量转换为 png

php imagick convert pdf to png high quality

我正在尝试通过 Imagick 将 PDF 转换为高质量的 PNG,但文件总是模糊不清。目前,我 运行 以下选项,但找不到正确的标志来从转换中获得清晰的 PNG。原始 PDF 文件为 8.5 x 11。有什么建议吗?谢谢!

$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'));

您需要在读取图像之前设置分辨率,因为图像在读取时是光栅化的,所以之后设置分辨率没有帮助 - 已经太晚了!

沿着这些方向尝试:

$imagick = new Imagick();
$imagick->setResolution(288,288);
$imagick->readImage('someFile.pdf');
$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>';

    }