我想使用 GS 从 pdf 文件中生成缩略图。
- 缩略图必须适合 90x120 像素的矩形
- 图像不应旋转
- 图像应调整大小以适应矩形并保持纵横比
我使用以下命令:
gswin32 -dPDFFitPage -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT
-dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0
-dDEVICEWIDTH=90 -dDEVICEHEIGHT=120 -dORIENT1=true
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4
-sOutputFile=output.%d.jpg input.pdf
结果:
如果我使用一些带有纵向页面 的PDF ,您可以下载,那么缩略图是正确的,您可以在此处看到:
如果我将它用于带有横向页面的 PDF,则 devicewidth 以某种方式被视为高度:
我怎样才能防止这种行为?我希望我的保时捷也是 90x120。我想也许我需要为 Ghostscript 提供一些 Postscript 代码(带有 -c 命令行参数),但我没有这方面的经验。有人可以帮我吗?
EDIT1:我尝试了KenS 的建议。使用 -dFIXEDMEDIA,我的保时捷会被裁剪,如下所示:
EDIT2: Kurt Pfeifle 的第一个解决方案不适用于肖像图像(右侧的白色部分,未正确使用空间)。见下文:
EDIT3: Kurt Pfeifle的第三个解决方案几乎是好的。对于风景图像,它是完美的:
但是,纵向页面存在尺寸问题,背景也变得完全灰色:
所以库尔特,我想我可以将 pdf 拆分为页面(使用 GS -dFirstPage 和 -dLastPage),然后如果您有一些想法,如何确定页面是横向还是纵向,那么我可以进行一些条件处理。任何想法?至于背景颜色,我认为它并不重要,但如果您在这里也有想法,那么欢迎他们。