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