【问题标题】:php imagick convert pdf to png high qualityphp imagick 将 pdf 转换为 png 高质量
【发布时间】:2017-06-11 14:00:32
【问题描述】:

我正在尝试通过 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'));

【问题讨论】:

  • 请您发布一个您认为模糊不清的示例 PDF 以及示例输出吗?某些版本的 GhostScript(ImageMagick 在下面使用)存在错误。

标签: php imagemagick imagick


【解决方案1】:

您需要在在读取图像之前设置分辨率,因为图像在读取时会被光栅化,因此之后设置分辨率无济于事 - 为时已晚!

尝试以下方法:

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

【讨论】:

    【解决方案2】:
    $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>';
    
        }
    

    【讨论】:

    • 欢迎来到 SO!在发布带有代码的答案时,重要的是要提及您的代码是如何工作的/为什么它可以解决 OP 的问题 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2016-06-30
    • 2013-06-24
    • 1970-01-01
    • 2018-10-16
    • 2017-07-26
    • 1970-01-01
    相关资源
    最近更新 更多