首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用GhostScript为转换的Jpeg设置自动高度/宽度

使用GhostScript为转换的Jpeg设置自动高度/宽度
EN

Stack Overflow用户
提问于 2012-04-04 04:18:36
回答 2查看 11.3K关注 0票数 8

我使用GS完成从PDF到JPEG的转换,下面是我使用的命令:

代码语言:javascript
运行
复制
gs -sDEVICE=jpeg -dNOPAUSE -dBATCH -g500x300 -dPDFFitPage -sOutputFile=image.jpg image.pdf

在此命令中,如您所见,-g500x300将设置转换后的图像大小(宽度x高度)。

有没有一种方法只是设置宽度,而不必输入高度,因此它将基于宽度,以缩放的高度使用其原来的高宽比?我知道这可以通过使用ImageMagick转换来实现,您只需将0放在高度参数上,即-resize 500x0。我试过使用GhostScript,但我不认为这是正确的方法。

我决定不使用ImageMagick转换原因,因为当需要转换一个大尺寸的多页PDF时,它非常慢。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2012-04-05 03:13:24

这篇文章解释了幽灵脚本速度更快的原因-- https://serverfault.com/questions/167573/fast-pdf-to-jpg-conversion-on-linux-wanted,唯一解决这个问题的方法就是修改imagemagick代码。

不幸的是,鬼怪脚本不支持自动确定的输出大小。这主要是因为所使用的-g选项实际上是确定将容纳呈现输出的设备大小,而不是呈现输出本身。由于-dPDFFitPage开关试图匹配设备大小,该输出大小正在发生变化。尽管您可以使用-dDEVICEHEIGHT=n定义jpeg‘设备’的高度,但这将使设备宽度保持不变的默认值。

虽然这是一个有些乏味的解决方法,但您可以使用幽灵脚本或imagemagick来获取pdf页面的宽度和高度。若要使用ghostscript执行此操作,请参见Using GhostScript to get page size的答案。然后,您可以计算适当的宽度来设置-g标志以保持高宽比。如果您可以找出一组命令来完成所有这一切,那么就可以得到额外的分数:)

票数 5
EN

Stack Overflow用户

发布于 2021-09-20 15:47:11

若要使用Ghostscript调整图像大小,请使用-dDownScaleFactor (例如,gs -dBATCH -dNOPAUSE -r300 -dDownScaleFactor=3 -sDEVICE=png16m -sOutputFile=/tmp/26a0e9f7-3f26-437d-9a97-1653074e819a_%d.png,/tmp/temp.pdf )

  • -r300在这里将产生一个巨大的图像

  • I可以通过缩小3、保持高宽比来减小尺寸。

如果设置精确的宽度维度并不重要,则可以使用此方法。它适用于大多数用例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10004858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档