我使用 PDFtk 和 PDF Chain gui。尽管阅读了手册页并投入大量时间进行各种网络搜索,但我找不到这个问题的答案 -
我有一个 PDF 文件目录,我想将cat
一个通用的“封面”PDF 文件放在每个 PDF 文件上。所以类似于source1=../coversheet.pdf source2=*.pdf cat out*.pdf
。(我知道……)
可能的?
答案1
我只会循环运行它,对目录中的每个 pdf 运行一次:
for f in *pdf; do
pdftk A=../coversheet.pdf B="$f" cat A1 B output "$f"_out.pdf;
done
这将为每个 PDF 文件创建一个新文件,并添加封面。对于名为 的文件foo.pdf
,它将创建一个名为 的新文件foo.pdf_out.pdf
。
你可以让它更复杂一点。要创建一个名为的文件,foo_out.pdf
请使用以下命令:
for f in *pdf; do
name=$(basename "$f" .pdf);
pdftk A=../coversheet.pdf B="$name".pdf cat A1 B output "$name"_out.pdf;
done
要用新版本覆盖文件,请使用
for f in *pdf; do
pdftk A=../coversheet.pdf B="$f" cat A1 B output /tmp/tmp.pdf;
mv /tmp/tmp.pdf "$f"
done