Ghostscript 将输出大小错误的 PDF 转换为 PNG

Ghostscript Converting PDF to PNG With Wrong Output Size

我正在使用以下 Ghostscript 命令将 8.5" x 17.00" (2:1) PDF 转换为 PNG:

gswin32c.exe -sDEVICE=png16m -sNOPAUSE -sOutputFile="C:\output.png" -r120 -q -dBATCH "C:\input.pdf"

这个命令过去对我来说效果很好,但是对于一组给定的输入 PDF,它会在输出的 PNG 的底部添加空格。 PNG 的分辨率为 1080x2460 (18:41)。

我也试过 sDEVICE=pngalpha 也有同样的结果。

下图左侧为源 PDF,右侧为输出 PNG:

谁能告诉我这是什么原因造成的?

感谢@KenS 和 this SO question 的评论,我了解到这些 Ghostscript 标志:

-dUseTrimBox
-dUseCropBox
-dUseArtBox
-dPDFFitPage

当我在命令中包含 -dUseCropBox 时,它可以正常工作:

gswin32c.exe -sDEVICE=png16m -dUseCropBox -sNOPAUSE -sOutputFile="C:\output.png" -r120 -q -dBATCH "C:\input.pdf"

来源:Obey the MediaBox/CropBox in PDF when using Ghostscript to render a PDF to a PNG