ImageMagick 命令行:将 PDF 转换为高清图像



我正在尝试从命令行使用imagemagick即时将PDF文件转换为图像。这些PDF的清晰度非常高,我想获得相关图像(JPG(。

通常使用Gimp,当我在此软件下将这些PDF转换为600dpi时,质量超级顶级。但我没有看到自己使用 Gimp 一一转换 500 多张图像......这就是我转向 ImageMagick 的原因,特别是因为动态转换图像文件越来越频繁地发生在我身上,我想掌握这种类型的工具。

唉,使用 ImageMagick,默认情况下我会得到非常小的图像(类型 468x705(,尽管将密度设置为 600dpi:

convert *.pdf -density 600 -quality 100 *.jpg

所以我添加了一个resize命令(我也尝试了scale(,图像的清晰度要高得多(类型 4680x7050(,但像素化就好像我保持默认定义一样:

convert *.pdf -resize 1000% -density 600 -quality 100 *.jpg

我什至认为它可能来自订单顺序,但这不会改变任何事情:

convert *.pdf -density 600 -resize 1000% -quality 100 *.jpg

一个想法 ?

次要(但不太重要(问题:如何保持目标文件与原始文件相同的名称?

编辑:除了Mark Setchell提出的for循环之外,我刚刚发现您可以使用mogrify。例:

mogrify -format jpg -density 600 -blur 1x1 -quality 100 *.pdf

你可能想要这样的东西 - 请注意,你把-density放在PDF文件名之前

for f in *.pdf; do convert -density 144 "$f" "${f%pdf}jpg"; done

棘手的部分是删除pdf扩展并将其替换为jpg,我使用了"bash 参数替换">,这在这里描述得很好。


在长手上,那就是

for f in *.pdf; do 
convert -density 144 "$f" "${f%pdf}jpg"
done

另一种选择是mogrify

mogrify -density 144 -format jpg *pdf

如果你安装了GNU Parallel,你可以像这样更易读、更快速地完成它:

parallel convert -density 144 {} {.}.jpg ::: *pdf

最新更新