html tool

2020年11月19日星期四

linux 下jpg转换为pdf

 https://ubuntuqa.com/article/6549.html

这里的convert使用

安装命令

sudo  apt-get install imagemagick  


我使用以下命令将目录中的所有jpg文件转换并合并为单个pdf文件。

convert *.jpg file.pdf

目录中的文件从1.jpg编号到123.jpg。转换很顺利,但转换后页面都混淆了。我希望pdf的页面从1.jpg123.jpg的顺序与它们的命名顺序相同

最佳解决方法

问题是因为你的shell正在以纯字母顺序扩展通配符,并且因为数字的长度不同,顺序将是不正确的:

$ echo *.jpg
1.jpg 10.jpg 100.jpg 101.jpg 102.jpg ...

解决方案是根据需要用零填充文件名,以便在运行convert命令之前它们的长度相同:

$ for i in *.jpg; do num=`expr match "$i" '\([0-9]\+\).*'`;
> padded=`printf "%03d" $num`; mv -v "$i" "${i/$num/$padded}"; done

现在文件将以正确的顺序与通配符匹配,为convert命令做好准备:

$ echo *.jpg
001.jpg 002.jpg 003.jpg 004.jpg 005.jpg 006.jpg 007.jpg 008.jpg ...

没有评论:

发表评论