2

我想将 PDF 的第一页提取为 PNG,以使用以下命令对其进行一些图像处理:

$ gs -q -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pngalpha -dLastPage=1 -sOutputFile='test.png' 'test2.pdf'

它适用于大多数 PDF,但它增加了一个透明边距:http: //ubuntuone.com/23676W4TJPyX6W2pkp5guG

Gimp按预期进行(没有保证金),convert也有同样的问题-sDEVICE=jpeg

有什么办法可以避免吗?

4

2 回答 2

5

Ghostscript 不会添加边距,当然也不会添加透明边距。问题不在于 Ghostscript,而在于您的 PDF 文件。您的文件包含:

/MediaBox [0 0 595 842] /CropBox [27.5 61.0 567.5 781.0]

Ghostscript 使用 MediaBox,其他查看者可能使用也可能不使用 CropBox。如果您阅读 GS 文档,您会发现 -dUseCropBox 开关指示 GS 在设置媒体大小时使用 PDF 文件的 CropBox 而不是 MediaBox。

-dEPSCrop 根本不会对 PDF 文件做任何事情。

于 2013-01-22T08:31:54.783 回答
1

作为记录,如果有人遇到同样的问题,我只是找到了正确的开关:-dUseCropBox. 现在的最终命令是:

$ gs -q  -dUseCropBox -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dLastPage=1 -sOutputFile='test.png' 'test2.pdf'
于 2013-01-22T08:31:17.217 回答