将Imagemagick/GhostScript转换为jpeg/png会忽略pdf背景

将Imagemagick/GhostScript转换为jpeg/png会忽略pdf背景,pdf,background,imagemagick,ghostscript,Pdf,Background,Imagemagick,Ghostscript,我正在做的是为pdf文件(仅第一页)制作缩略图。我像这样使用imagemagick(简化而不调整大小。它也有同样的问题): 问题是,它只是忽略了我的pdf的背景,并将其变为黑色。它也不是透明的(如果我使用png而不是jpg),它只是黑色的。我想保持原来的背景色 以下是测试pdf: 以及此处的imagemagick输出: 请注意,背景色已替换为黑色。我想保留原来的那个 我试着直接使用GhostScript gs -sDEVICE=jpeg -sOutputFile=cover.jpg -r72 m

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

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

以下是测试pdf: 以及此处的imagemagick输出: 请注意,背景色已替换为黑色。我想保留原来的那个

我试着直接使用GhostScript

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

同样,输出相同。也许有一个论点可以阻止这种情况发生?

问题可能在于PDF中的“平滑着色”对象

PDF中有很多(29)类型2(轴向着色)、平滑着色对象用于背景,IIRC GhostScript多年来一直存在这些问题,并修复了许多错误,您正在运行哪个版本的
gs


最简单的解决方案是在为此目的创建的PDF中对背景进行光栅化。

问题可能在于该PDF中的“平滑着色”对象

PDF中有很多(29)类型2(轴向着色)、平滑着色对象用于背景,IIRC GhostScript多年来一直存在这些问题,并修复了许多错误,您正在运行哪个版本的
gs


最简单的解决方案是在为此目的创建的PDF中对背景进行光栅化。

尝试添加展平参数:

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

尝试添加展平参数:

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

谢谢你的快速回复。我正在运行一个使用用户上传pdf的服务,所以修改pdf不是一个选项。我在Debian stable上运行这些,如果我没记错的话,它有GS 8.62。所以我将GS从不稳定升级到了8.72,现在它似乎运行良好。我猜这是一个bug,他们已经修复了。@Stormbbreaker:很高兴这是一个简单的东西,这是一个带有阴影的复杂代码,bug修复一直在进行。感谢您的快速响应。我正在运行一个使用用户上传pdf的服务,所以修改pdf不是一个选项。我在Debian stable上运行这些,如果我没记错的话,它有GS 8.62。所以我将GS从不稳定升级到了8.72,现在它似乎运行良好。我猜这是一个bug,他们已经修复了。@Stormbbreaker:很高兴这是一个简单的东西,这是一个带有阴影的复杂代码,bug修复一直在进行。