Imagemagick在创建输出之前调整多个输入文件

时间:2016-11-15 19:37:02

标签: image-processing imagemagick imagemagick-convert

我正在尝试将多个PNG图像合并为一个PDF文件。我可以用这个命令做到这一点:

convert output/*.png all_plots.pdf

但是,我还想在输入PNG文件添加到PDF之前减小其大小或质量(最终减小输出文件大小)。我试过这个命令:

convert output/*.png -quality 0 all_plots.pdf

还有这个

convert -quality 0 output/*.png all_plots.pdf

但它似乎没有做任何事情。你应该如何设置参数,以便将调整应用于通过globbing找到的所有输入PNG文件?

供参考,有文档herehere以及类似问题here,但我无法在其中找到答案。

1 个答案:

答案 0 :(得分:1)

如果您显示输入文件的大小和类型可能会有所帮助,因为此技术可能不适用于所有图像类型......但一种方法是减少文件中的颜色数。

所以,让我们把它作为一个起始图像:

convert -size 600x400 xc:gray +noise random p1.png

enter image description here

将其复制为p2.pngp3.png,然后将它们合并为3页PDF:

convert p[123].png result.pdf

并检查尺寸:

-rw-r--r--   1 mark  staff   2214667 16 Nov 10:11 result.pdf

现在,我们加载输入页面并将其颜色减少到128:

convert p[123].png -colors 128 result.pdf

并检查尺寸:

-rw-r--r--   1 mark  staff    674921 16 Nov 10:12 result.pdf

那更好,670kB而不是2.2MB。