Bash转换为pdf

时间:2010-11-20 18:03:33

标签: bash

如何同时使用ls和convert将目录中的所有图像文件转换为pdf? 另外我需要按照一定的顺序放置文件,例如像AA1.png,AA11.png这样的文件需要遵守这个逻辑顺序。

更新(ls)和(转换)可用,但我如何一起使用它们?

4 个答案:

答案 0 :(得分:7)

要转换为单个PDF,可以在一个命令中完成:

convert -compress jpeg *.jpg my-jpegs.pdf

请记住包含-compress jpeg标记,否则它会存储未压缩的图像并生成大量PDF。

ImageMagick(通过转换)需要安装Ghostscript(gs)才能处理我相信的PDF。如果要一次添加大量JPEG,请注意内存问题。

至于您的逻辑顺序,您可以将lsconvert结合使用,以便按顺序获取列表。

有些事情:

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

see here

或压缩

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