PDF 到光栅图像,渲染错误

PDF to Raster image, mistake in render

我已将 PHP 应用程序部署到具有更新版本的 ImageMagick 和 PHP 的新服务器,但是,新服务器 (ImageMagick) 在将 PDF 转换为光栅 ( jpg 或 png)。

这是两台服务器上的 PHP 代码 运行(具有相同的输入文件)

$im = new Imagick();
$im->setResolution( 72, 72 );
$im->readImage( 'vector.pdf' );
$im->setImageFileName('output-old.jpg');
$im->writeImage();

生成的文件如下所示

在旧服务器上生成的文件(看起来正确) http://i.stack.imgur.com/owai5.jpg

在新服务器上生成文件(问题) http://i.stack.imgur.com/xg3kv.jpg

原始 PDF https://drive.google.com/file/d/0B9RgJSi9aRIJcUJYd2Z4bzFDTTA/view?usp=sharing

注意:通过命令行使用 ImageMagick 时会出现同样的问题

convert vector.pdf output.jpg

旧服务器配置

新服务器配置

您希望 ImageMagick 的更高版本能够更好地工作,并且如果可能的话宁愿使用它。

问题可能出在配置文件或依赖库中吗?如果需要,将提供更多服务器详细信息。

我通过更新 ghostscript 解决了这个问题

新服务器只有ghostscript 8.7,我升级到9.16

您通常可以通过 运行

获取 ghostscript 版本
gs --version