我正在尝试使用命令行的imagemagick将PDF文件转换为动态图像。这些PDF是在非常高的清晰度,我想得到相关的图像(JPG)。
通常使用Gimp,当我转换这些PDF到600 top在这个软件下的质量是超级顶。但我没有看到我自己一个接一个地转换500多幅图像.这就是为什么我转向ImageMagick的原因,特别是因为我越来越频繁地动态转换图像文件,我想掌握这种工具。
唉,在ImageMagick中,默认情况下,我得到非常小的图像(类型为468x705),尽管密度设置为600 type:
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提出的for循环之外,我刚刚发现您可以使用mogrify
。示例:
mogrify -format jpg -density 600 -blur 1x1 -quality 100 *.pdf
发布于 2017-08-03 12:53:31
您可能需要这样的东西--请注意,您将-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 convert -density 144 {} {.}.jpg ::: *pdf
https://stackoverflow.com/questions/45484105
复制相似问题