gpt4 book ai didi

pdf - 使用 GhostScript 为从 PDF 转换的 Jpeg 设置自动高度/宽度

转载 作者:行者123 更新时间:2023-12-04 11:28:26 26 4
gpt4 key购买 nike

我正在使用 GS 进行从 PDF 到 JPEG 的转换,以下是我使用的命令:

gs -sDEVICE=jpeg -dNOPAUSE -dBATCH -g500x300 -dPDFFitPage -sOutputFile=image.jpg image.pdf

在这个命令中你可以看到 -g500x300是设置转换后的图像大小(宽 x 高)。

有没有办法只设置宽度而不必输入高度,这样它将根据宽度使用其原始纵横比来缩放高度?我知道它可以通过使用 ImageMagick convert 来实现,您只需将 0在高度参数上,即 -resize 500x0 .我尝试过使用 GhostScript,但我认为这不是正确的方法。

我决定不使用 ImageMagick 转换的原因是因为它在转换大尺寸的多页 PDF 时非常慢。

谢谢您的帮助!

最佳答案

这篇文章解释了为什么 ghostscript 更快 - https://serverfault.com/questions/167573/fast-pdf-to-jpg-conversion-on-linux-wanted ,唯一的解决方法是修改 imagemagick 代码。

不幸的是,ghostscript 不支持自动确定的输出大小。这主要是因为 -g使用的选项实际上是确定 设备 将保存渲染输出的大小,而不是渲染输出本身。由于 -dPDFFitPage,输出大小正在发生变化然后尝试匹配设备大小的开关。尽管您可以使用 -dDEVICEHEIGHT=n 仅定义 jpeg '设备' 的高度,这将使设备宽度保持不变的默认值。

虽然有点乏味的解决方法,但您可以使用 ghostscript 或 imagemagick 来获取 pdf 页面的宽度和高度。要使用 ghostscript 执行此操作,请参阅 Using GhostScript to get page size 的答案.然后,您可以计算适当的宽度以设置 -g 标志以保持纵横比。如果你能找出一组命令来完成这一切,那就加分吧:)

关于pdf - 使用 GhostScript 为从 PDF 转换的 Jpeg 设置自动高度/宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com