ReorderPDF1342-new.sh
1 | #!/bin/bash |
---|---|
2 | # Create the destination file and temporary files |
3 | file=original53.pdf; |
4 | newfile=$(basename $file .pdf)-2.pdf; |
5 | tmpfile=$(mktemp --suffix=.pdf); |
6 | blankfile=$(mktemp --suffix=.pdf); |
7 | cp -f $file $newfile; |
8 | cp -f $file $tmpfile; |
9 | |
10 | # Find the number of pages |
11 | numberofpages=`pdftk $file dump_data | grep "NumberOfPages" | sed 's:.*\([0-9][0-9*]\).*:\1:'`; |
12 | |
13 | # Insert blank pages until the number of pages is a multiple of 4 |
14 | echo "" | ps2pdf -sPAPERSIZE=a4 - $blankfile; |
15 | while (( $numberofpages % 4 != 0 )); # DIFFERENCE: %% instead of % since % is used by Nautilus-Actions for special parameters |
16 | do |
17 | ((numberofpages++)); |
18 | pdftk A=$newfile B=$blankfile cat A B output $tmpfile; |
19 | cp -f $tmpfile $newfile; |
20 | done; |
21 | |
22 | # Reorder every 4 pages of a PDF following the permutation 1234 -> 1342 |
23 | a=0; |
24 | neworder=$( |
25 | while [ $a -lt $numberofpages ]; |
26 | do |
27 | echo -n "$(($a + 1)) $(($a + 3)) $(($a + 4)) $(($a + 2)) "; |
28 | ((a+=4)); |
29 | done; |
30 | ); |
31 | pdftk $tmpfile cat $neworder output $newfile; |