使用Ghostscript将PDF的第一页转换为图像时,有时我会获得"额外"空间.为什么?

ton*_*nix 4 pdf command-line png ghostscript

我正在构建一个简单的脚本,它使用Ghostscript将PDF的第一页转换为图像.这是我使用的命令:

gs -q -o output.png -sDEVICE=pngalpha -dLastPage=1 input.pdf 
Run Code Online (Sandbox Code Playgroud)

这适用于一些PDF,例如,如果我转换PDF的第一页,如下所示:

在此输入图像描述

我实际上把这个第一页作为图像,并没有任何问题.

但我注意到其他PDF的第一页,如下所示:

在此输入图像描述

使用相同的gs命令,转换后,.png图像如下所示:

在此输入图像描述

问题是,当我转换该页面时,我在图像左侧获得了额外的空白区域,为什么GhostsScript会这样做?额外的空白空间来自哪里?

Kur*_*fle 7

最有可能的是,您的PDF不会为/MediaBox和使用相同的值/CropBox.有关与页面相关的这些技术术语的详细信息,请参阅德语维基百科的此插图:

换句话说:/CropBoxPDF页面的值(如果给定)确定/MediaBoxPDF查看器应该对用户(或打印机)可见的整个页面信息(在其中)的哪个(较小)部分.

要确定图书所有页面的不同值,请运行以下命令:

pdfinfo -f 1 -l 1000 -box my.pdf
Run Code Online (Sandbox Code Playgroud)

要仅为第一页查看这些值,请运行

pdfinfo -l 1 -box my.pdf
Run Code Online (Sandbox Code Playgroud)

要让Ghostscript提供您想要的结果,请添加-dUseCropBox到命令行:

gs -q -o output.png -sDEVICE=pngalpha -dLastPage=1 -dUseCropBox input.pdf 
Run Code Online (Sandbox Code Playgroud)