【问题标题】:Imagemagick/GhostScript conversion to jpeg/png ignores the pdf backgroundImagemagick/GhostScript 转换为 jpeg/png 会忽略 pdf 背景
【发布时间】:2011-06-12 19:07:47
【问题描述】:

我正在做的是为 pdf 文件制作缩略图(仅第一页)。我像这样使用imagemagick(没有调整大小就简化了。它有同样的问题):

convert mreji.pdf[0] test.jpg

问题在于它只是忽略了我的 pdf 的背景并将其变为黑色。它也不透明(如果我使用 png 而不是 jpg),它只是黑色的。我想保留原来的背景颜色。

这是测试pdf:http://slides.bg/website/Uploads/Temp/mreji.pdf 这里的 imagemagick 输出:http://slides.bg/website/Uploads/Temp/mreji.jpg 请注意,背景颜色已替换为黑色。我想保留原来的。

我尝试直接使用 GhostScript

gs -sDEVICE=jpeg -sOutputFile=cover.jpg -r72 mreji.pdf

同样的输出。也许有理由阻止这种情况发生?

【问题讨论】:

    标签: pdf background imagemagick ghostscript


    【解决方案1】:

    问题可能在于该 PDF 中的“平滑阴影”对象。

    有很多 (29) Type 2 (Axial Shading),PDF 中用于背景的平滑阴影对象,IIRC GhostScript 多年来一直存在这些问题以及许多错误修复,@987654321 的版本@你在跑步吗?

    最简单的解决方案是在为此目的创建 PDF 的任何内容中栅格化背景。

    【讨论】:

    • 感谢您的快速回复。我正在运行一项使用用户上传的 pdf 的服务,因此修改 pdf 不是一种选择。如果我没记错的话,我正在 Debian stable 上运行这些,它有 GS 8.62。所以我将 GS 从不稳定升级到 8.72,现在它似乎运行良好。我猜这是他们修复的错误。
    • @stormbreaker:很高兴这是一件简单的事情,它是一段复杂的代码,带有阴影规定,错误修复一直在一直进行。
    【解决方案2】:

    尝试添加 flatten 参数:

    convert mreji.pdf[0] test.jpg -flatten
    

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 2011-05-16
      • 2015-02-28
      • 1970-01-01
      相关资源
      最近更新 更多