【问题标题】:Build sorted and annotated pdf from images从图像构建排序和注释的 pdf
【发布时间】:2014-03-08 13:33:36
【问题描述】:

我正在尝试从来自 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

【问题讨论】:

标签: image bash pdf


【解决方案1】:

这样怎么样,不用生成临时文件files.txt

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

根据 cmets,这些 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

【讨论】:

  • 输出仍然是 pdf 中未排序的图像和每个图形的相同注释。
  • 能否告诉我命令输出ls *.jpg | sort,如果文件已排序或未排序。其次,请查看此stackoverflow.com/questions/12339330/…,并检查您是否可以获得任何帮助
  • 这是您的要求:$ 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 文件太多,无法手动输入
  • 我在你原来的问题中更新了你的cmets,并提供了一个新的排序命令sort -t . -k3.3n -k1.1n -k2.2n,你现在可以试试吗?
  • 我不得不停止该命令,1 分钟后它继续执行。
猜你喜欢
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多