PDF到光栅图像,渲染错误

时间:2015-09-23 20:25:07

标签: imagemagick

我已经将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

旧服务器配置

  • PHP:5.3.10
  • ImageMagick:6.7.6-0 2012-03-16 Q16
  • OS:Ubuntu 12.04

新服务器配置

  • PHP:5.6.13
  • ImageMagick:6.9.2-3 Q16 x86_64 2015-09-23
  • 操作系统:CentOs 6.5

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

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

1 个答案:

答案 0 :(得分:0)

我通过更新ghostscript修复了问题

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

你可以通过运行

来获得ghostscript版本
gs --version