summaryrefslogtreecommitdiff
path: root/support/pdfjam/bin/pdfjam-pocketmod
blob: 72efd0e9db9fe2de3c020ffcae1bb1b5954b0e3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
##
##  pdfjam-pocketmod: A shell program to make an 8-page PDF document 
##  into an 8-up file with pages ordered and oriented for folding as
##  a pocket-sized booklet, as described at http://repocketmod.com/ 
##
##  Author David Firth (http://go.warwick.ac.uk/dfirth)
##
##  This is a simple wrapper for (three runs of) pdfjam, version 2.08
##
##
##  It's hard (?) to set up this particular script to read from /dev/stdin, 
##  so we'll just insist that the first argument is a file:
##
E_USAGE=64           ##  for a command line usage error
for arg
do
    case $arg in
	--batch)
	    printf "pdfjam-pocketmod ERROR: the --batch option is not allowed\n" 1>&2 ; 
	    exit "$E_USAGE" ;;
	--no-tidy)
	    n='--no-tidy' ;;
	--quiet | -q)
	    q='-q' ;;
	--vanilla)
	    v='--vanilla' ;;
	--checkfiles)
	    c='--checkfiles' ;;
	*) 
	    ;;
    esac
done
##
sourceFile="$1" ;            
shift ;
##
##  Some (very) minimal checking of the first argument:
##
if test ! -f "$sourceFile" ;
then
    printf "pdfjam-pocketmod ERROR: first argument must be a PDF file\n" ; 
    exit $E_USAGE ;
fi
##
##  That's all the argument checking!
##
pageSpec="1-8"            ## the default page spec
case ${1} in
    --* | "")             ## no page spec was given
	;;
    *)                    ## a page spec was given, so use it
	pageSpec="$1" ;
	shift ;;
esac
pdfjam $n $q $c $v -o /dev/stdout "$sourceFile" "$pageSpec" | pdfjam --angle 180 $n $q $v -o /dev/stdout /dev/stdin '1,8,7,6' | pdfjam --nup 4x2 --landscape --frame true  "$sourceFile" '2-5' /dev/stdin "$@"