如何同时使用ls和convert将目录中的所有图像文件转换为pdf? 另外我需要按照一定的顺序放置文件,例如像AA1.png,AA11.png这样的文件需要遵守这个逻辑顺序。
更新(ls)和(转换)可用,但我如何一起使用它们?
答案 0 :(得分:7)
要转换为单个PDF,可以在一个命令中完成:
convert -compress jpeg *.jpg my-jpegs.pdf
请记住包含-compress jpeg
标记,否则它会存储未压缩的图像并生成大量PDF。
ImageMagick(通过转换)需要安装Ghostscript(gs)才能处理我相信的PDF。如果要一次添加大量JPEG,请注意内存问题。
至于您的逻辑顺序,您可以将ls
与convert
结合使用,以便按顺序获取列表。
有些事情:
convert -compress jpeg `ls *.png` my-jpegs.pdf
有关可用的各种排序选项,请参阅ls --help
。
答案 1 :(得分:5)
https://gitlab.mister-muffin.de/josch/img2pdf
在涉及ImageMagick的所有提议的解决方案中(即convert
),JPEG数据被完全解码并重新编码。这导致generation loss,以及性能比img2pdf差十到百倍。
答案 2 :(得分:1)
如果你有很多文件:
convert -limit memory 1 -limit map 1 *.jpg foo.pdf
或压缩
convert -limit memory 1 -limit map 1 -compress jpeg -quality 85 *.jpg foo.pdf
答案 3 :(得分:0)
for image in `ls *.png`; do
# call convert or whatever here
convert $image `basename $image .png`.pdf
done