使用 Ghostscript 将 PDF 的第一页转换为图像时,有时我会得到 "extra" space。为什么?
When converting first page of a PDF into an image using Ghostscript, sometimes I get "extra" space. Why?
我正在构建一个简单的脚本,它使用 Ghostscript 将 PDF 的第一页转换为图像。这是我使用的命令:
gs -q -o output.png -sDEVICE=pngalpha -dLastPage=1 input.pdf
这适用于某些 PDF,例如如果我转换如下所示的 PDF 的第一页:
我实际上将第一页作为图像获取,没有任何问题。
但我注意到其他 PDF 的一些第一页,如下所示:
使用同样的gs
命令,转换后的.png图片是这样的:
问题是当我转换该页面时,我在图像左侧得到了这个额外的白色 space,为什么 GhostsScript 会这样做?那多余的空白 space 是从哪里来的?
您的 PDF 很可能不会为 /MediaBox
和 /CropBox
使用相同的值。有关与页面相关的这些技术术语的详细信息,请参阅 this illustration from the German Wikipedia:
换句话说:PDF 页面的 /CropBox
值(如果给定)决定了 PDF 查看器应该查看整个页面信息的哪个(较小)部分(在 /MediaBox
内)对用户(或打印机)可见。
解决方案
要确定图书所有页面的不同值,运行此命令:
pdfinfo -f 1 -l 1000 -box my.pdf
要仅查看第一页的这些值,运行
pdfinfo -l 1 -box my.pdf
要让 Ghostscript 给出您想要的结果,请将 -dUseCropBox
添加到您的命令行:
gs -q -o output.png -sDEVICE=pngalpha -dLastPage=1 -dUseCropBox input.pdf
我正在构建一个简单的脚本,它使用 Ghostscript 将 PDF 的第一页转换为图像。这是我使用的命令:
gs -q -o output.png -sDEVICE=pngalpha -dLastPage=1 input.pdf
这适用于某些 PDF,例如如果我转换如下所示的 PDF 的第一页:
我实际上将第一页作为图像获取,没有任何问题。
但我注意到其他 PDF 的一些第一页,如下所示:
使用同样的gs
命令,转换后的.png图片是这样的:
问题是当我转换该页面时,我在图像左侧得到了这个额外的白色 space,为什么 GhostsScript 会这样做?那多余的空白 space 是从哪里来的?
您的 PDF 很可能不会为 /MediaBox
和 /CropBox
使用相同的值。有关与页面相关的这些技术术语的详细信息,请参阅 this illustration from the German Wikipedia:
换句话说:PDF 页面的 /CropBox
值(如果给定)决定了 PDF 查看器应该查看整个页面信息的哪个(较小)部分(在 /MediaBox
内)对用户(或打印机)可见。
解决方案
要确定图书所有页面的不同值,运行此命令:
pdfinfo -f 1 -l 1000 -box my.pdf
要仅查看第一页的这些值,运行
pdfinfo -l 1 -box my.pdf
要让 Ghostscript 给出您想要的结果,请将 -dUseCropBox
添加到您的命令行:
gs -q -o output.png -sDEVICE=pngalpha -dLastPage=1 -dUseCropBox input.pdf