我想从 X 网站保存/下载 pdf,然后将所有这些 pdf 合并为一个,这样我就可以轻松地一次查看它们。
我做了什么,
从网站获取 pdf
wget -r -l1 -A.pdf --no-parent http://linktoX
将 PDF 合并为一个
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Combined_`date +%F`.pdf -dBATCH file1.pdf file2.pdf file3.pdf
我的问题是,我想用一个脚本自动完成这一切,这样我就不必每天都这样做了。这里每天都会在 X 中添加新的 pdf。
那么,我该如何执行上述第 2 步,而不提供所有 pdf 的完整列表,我尝试file*.pdf
在步骤 2 中执行此操作;但它以随机顺序组合了所有 pdf。
下一个问题是,文件*.pdf 的总数每天都不一样,有时是 5 个 pdf,有时是 10 个......但好处是它按 file1.pdf file2.pdf 的顺序命名...
因此,我需要一些帮助来完成上述第 2 步,以便所有 pdf 按顺序合并,而我不必明确给出每个 pdf 的名称
谢谢。
更新:这解决了问题
pdftk `ls -rt kanti*.pdf` cat output Kanti.pdf
我首先ls -rt
按照file1.pdf
下载的方式进行操作,然后file2.pdf
依此类推...只需将其ls -t
放在file20.pdf
开始和file1.pdf
最后...
答案1
除了 file*.pdf,您还可以使用反引号通过其他命令输出所需文件列表,例如ls ...
chmeee 的答案。您应该能够像这样使用原始 ghostscript 命令:
这将按修改日期对文件进行排序,最旧的在第一位:
gs [...] `ls -rt file*pdf`
这将按数字顺序对它们进行排序,从第 5 个字符开始:
gs [...] `ls | sort --key=1.5 -g`
答案2
尝试pdftk并使用这样的排序:
pdftk `ls files*pdf | sort` cat joined.pdf