
У меня около 500+ файлов, и я знаю, как их объединить. Но проблема в том, что я хотел бы объединить их таким образом, чтобы каждый файл начинался с имени файла на первой странице. Например, у меня есть 3 файла (fila1,file2,file3), и каждый файл имеет 10, 20 и 30 страниц. Мне нужен объединенный файл таким образом, чтобы первая страница была FILENAME, то есть file1, затем полный первый файл, затем имя второго файла на одной странице, за которым следует file и так далее.... Как мне это сделать?
решение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 title pdf для каждого файла и собирает имена файлов в массиве bash files
, а имена для удаления — в массиве del
. groff
Входные данные — стандартные команды troff для установки шрифта Helvetica, размера 30 пунктов, немного большего межстрочного интервала и отступа 10 сантиметров вниз по странице для текста, который выравнивается по центру.