ReorderPDF.sh
1 | #!/usr/bin/sh |
---|---|
2 | |
3 | # Récupère le nom du fichier pdf dans $file et créer les fichiers |
4 | file=$1; shift; |
5 | newfile=$(basename $file .pdf)-2.pdf; |
6 | tmpfile=$(mktemp --suffix=.pdf); |
7 | blankfile=$(mktemp --suffix=.pdf); |
8 | cp -f $file $newfile; |
9 | |
10 | # Détermine le nombre de pages initial |
11 | numberofpages=`pdftk $file dump_data | grep "NumberOfPages" | sed 's:.*\([0-9][0-9*]\).*:\1:'`; |
12 | |
13 | # Crée des pages blanches si nécessaire |
14 | echo "" | ps2pdf -sPAPERSIZE=a4 - $blankfile; |
15 | while (( $numberofpages % 4 != 0 )); |
16 | do |
17 | ((numberofpages++)); |
18 | pdftk A=$newfile B=$blankfile cat A B output $tmpfile; |
19 | cp -f $tmpfile $newfile; |
20 | done; |
21 | |
22 | # Réordonne les pages |
23 | neworder=` |
24 | for (( a=$1, b=$2, c=$3, d=$4 ; |
25 | a <=numberofpages ; |
26 | ((a+=4)), ((b+=4)), ((c+=4)), ((d+=4)) |
27 | )); |
28 | do |
29 | echo -n "$a $b $c $d "; |
30 | done`; |
31 | pdftk $tmpfile cat $neworder output $newfile; |