我有大约 500 多个文件,并且我知道如何合并它们。但问题是我想以这样的方式合并它们,即每个文件都以文件 neme 开头。例如,我有 3 个文件(fila1、file2、file3),每个文件有 10,20 和 30 页。我需要以这种方式合并文件,第一页是 FILENAME,即 file1,然后是完整的第一个文件,然后是一页中第二个文件的名称,后面是该文件,依此类推......我该怎么做?
答案1
生成横幅页 pdf 的方法有很多种。这是一个使用groff
:
declare -a files del
i=1
for file in file1.pdf file2.pdf file3.pdf
do echo -e '.ft H\n.ps 30\n.vs 35\n.sp 10c\n.ce\n'"$file" |
groff -Tps |
ps2pdf - - >/tmp/title$i.pdf
files+=(/tmp/title$i.pdf "$file")
del+=(/tmp/title$i.pdf)
let i=i+1
done
pdfconcat -o /tmp/out.pdf "${files[@]}"
rm ${del[@]}
它为每个文件创建一个 tmp 标题 pdf,并收集 bash array 中的文件名files
和 array 中要删除的名称del
。输入groff
是标准的 troff 命令,用于将字体设置为 Helvetica,磅值设置为 30 磅,行距稍大,并将居中文本在页面下方留出 10 厘米的间距。