4

在 PHP 中使用 Gmagick 将 PDF 转换为图像会呈现质量很差的图像。

Imagick 中的解决方案是在加载 PDF 文件setResolution(x,y) 之前调用。这将改变 -density 选项。

Gmagick中没有setResolution(x,y),不幸的是,调用setimageresolution(x,y)只会引发错误:

PHP 致命错误:未捕获的异常“GmagickException”与消息“无法处理空 Gmagick 对象”

加载 PDF 后调用setimageresolution(x,y)没有效果,而且我找不到在加载文件之前设置 -density 选项的方法。

编辑:我很高兴有一种方法可以在系统范围内设置默认密度。我确实有root访问权限。

4

1 回答 1

0

我遇到了类似的问题并用以下代码解决了它:

$image = new \Gmagick();
$image->setresolution(300, 300);
$image->readimage('sample.pdf[0]');

请注意,该setresolution方法在任何地方都没有记录在 PHP 中,但它似乎有效——至少对我而言。

于 2021-04-08T12:32:43.887 回答