scripts / livret /
Newer Older
32 lines | 1.247kb
ajout de scripts pour impres...
Sébastien Marque authored on 2020-01-17
1
#!/bin/bash
2

            
3
pdf="$1"
4
size=$(pdfinfo "$pdf" | awk '/^Page size:/{
5
	a = $3
6
	b = $5
7
	if (a >= 419  && a <= 421  && b >= 594  && b <= 596 ) print "a5"
8
	if (a >= 594  && a <= 596  && b >= 419  && b <= 421 ) print "a5"
9
	if (a >= 594  && a <= 596  && b >= 841  && b <= 843 ) print "a4"
10
	if (a >= 841  && a <= 843  && b >= 594  && b <= 596 ) print "a4"
11
	if (a >= 841  && a <= 843  && b >= 1189 && b <= 1191) print "a3"
12
	if (a >= 1189 && a <= 1191 && b >= 841  && b <= 843 ) print "a3"
13
}')
14
pages=$(pdfinfo "$pdf" | awk '/Pages:/{print $2}')
15
test $pages -ne 4 -o -z "$size" && exit	
16

            
17
recto=$(mktemp -d /dev/shm/XXXXXXXX)
18
verso=$(mktemp -d /dev/shm/XXXXXXXX)
19
output=$(mktemp --dry-run /dev/shm/XXXXXXXX.pdf)
20

            
21
if test $size = "a3"; then
22
    size="a4"
23
    gs -o $output -sDEVICE=pdfwrite -sPAPERSIZE=$size -dFIXEDMEDIA -dPDFFitPage -dCompatibilityLevel=1.6 "$pdf"
24
else
25
    cp "$pdf" $output
26
fi
27

            
28
booksize="a$((${size//[^45]}-1))"
29
pdfjam --paper ${booksize}paper --nup 2x1 --landscape --outfile $recto "$output" 1 "$output" 4
30
pdfjam --paper ${booksize}paper --nup 2x1 --landscape --outfile $verso "$output" 2 "$output" 3
31
pdftk A=$(find $recto -name "*pdf") B=$(find $verso -name "*pdf") cat A B output "${pdf%/*}/livret-${pdf##*/}"
32
rm -fr $recto $verso $output