从图像构建排序和注释的 pdf



我正在尝试从 bash 中同一文件夹中的一组图像文件构建pdf。到目前为止,我有这段代码:

ls *.jpg | sort > files.txt
ls *.jpg | sort | tr 'n' ' ' | sed 's/$/ data_graphs.pdf/' | xargs convert -gravity North -annotate @files.txt
rm files.txt

此代码折叠图像,但它们未正确排序,并且每个图像(列表中的第一个图像)的注释都相同。

这是供参考的ls * jpg |sort输出。

$ ls *.jpg | sort 
01.20.2014_A549_void.jpg
01.20.2014_EPOR_full_sorter.jpg
01.20.2014_EPOR_trunc_sorter.jpg
01.20.2014_WTGFP_sorter.jpg
01.27.2014_A549_void.jpg
01.27.2014_EPOR_full_I10412.jpg
01.27.2014_EPOR_full_sorter.jpg
01.27.2014_EPOR_trunc_I10412.jpg
01.27.2014_EPOR_trunc_sorter.jpg
01.27.2014_WTGFP_I10412.jpg
01.27.2014_WTGFP_sorter.jpg
02.03.2014_A549_void.jpg
02.03.2014_EPOR_full_sorter.jpg
02.03.2014_EPOR_trunc_sorter.jpg
02.03.2014_WTGFP_sorter.jpg

怎么样,不需要生成临时文件files.txt

convert -gravity North -annotate `ls *.jpg | sort -t . -k3.3n -k1.1n -k2.2n ` data_graphs.pdf

根据注释,这些jpg文件在文件名(MM-DD-YYYY)中有时间戳,我更新了排序命令。

另一种方式,先将每个JPG文件转换为PDF,然后使用pdftk合并它们,我使用pdftk多年,知道该软件可以轻松完成这项工作。这是pdftk服务器网址:pdflabs.com/tools/pdftk-server。

下面的脚本将一个接一个地将jpg文件转换为pdf

for file in *jpg
do
  convert -gravity North -annotate "$file" "$file".pdf
done

然后运行 pdftk 命令,如果您有 pdf 的休数。 使用 pdftk,您可以将每 10~20 个合并为一个小 pdf,然后将小 pdf 合并为最终 pdf。例如:

pdftk 1.pdf 2.pdf 3.pdf output m1.pdf

然后你会得到mXXX.pdf文件,然后再次运行pdftk:

pdftk m1.pdf m2.pdf m3.pdf output final.pdf

相关内容

  • 没有找到相关文章

最新更新