ReorderPDF.sh

Rémi G., 05/31/2014 05:58 pm

Download (839 Bytes)

 
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;