【问题标题】:PDF to Raster image, mistake in renderPDF转光栅图像,渲染错误
【发布时间】: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


【解决方案1】:

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

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

您通常可以通过运行获得 ghostscript 版本

gs --version

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 2015-12-15
    • 2014-02-03
    • 2010-10-29
    • 2012-03-25
    • 1970-01-01
    • 2015-09-03
    • 2012-12-20
    • 2017-09-01
    相关资源
    最近更新 更多