【发布时间】:2015-09-23 20:25:07
【问题描述】:
我已将 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
- 操作系统:Ubuntu 12.04
新服务器配置
- PHP:5.6.13
- ImageMagick:6.9.2-3 Q16 x86_64 2015-09-23
- 操作系统:CentOs 6.5
您会期望更高版本的 ImageMagick 工作得更好,如果可能的话,宁愿使用它。
问题可能出在配置文件或依赖库中吗?如果需要,将提供更多服务器详细信息。
【问题讨论】:
-
新服务器上的ghostscript版本较旧,这可能是我的问题,现在尝试升级ghostscript。
-
顺便用
convert -density 144 vector.pdf output.jpg也可以得到更好的输出。
标签: imagemagick