diff options
Diffstat (limited to 'Master/texmf-dist/scripts/pdfjam/pdfpun')
-rwxr-xr-x | Master/texmf-dist/scripts/pdfjam/pdfpun | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/pdfjam/pdfpun b/Master/texmf-dist/scripts/pdfjam/pdfpun new file mode 100755 index 00000000000..eee08a05d33 --- /dev/null +++ b/Master/texmf-dist/scripts/pdfjam/pdfpun @@ -0,0 +1,72 @@ +#!/bin/sh +## +## pdfpun: A shell program to n-up pages of a PDF file with +## the n-upped pages ordered from right to left +## +## Author David Firth (http://go.warwick.ac.uk/dfirth) +## +## This is a simple wrapper for (three runs of) pdfjam, version 2.01 +## +## +E_USAGE=64 ## for a command line usage error +## +for arg in "$@"; do + case "$arg" in + --batch) + printf "pdfpun ERROR: the --batch option is not allowed\n" 1>&2; + exit "$E_USAGE" ;; + --no-tidy) + n='--no-tidy' ;; + --quiet | -q) + q='-q' ;; + --checkfiles) + c='--checkfiles' ;; + *) continue ;; + esac +done +sourceFile="$1" ; +shift ; +## +## Some (very) minimal checking of the first argument: +## +if test ! -e "$sourceFile" ; +then + printf "pdfpun ERROR: first argument must be a PDF file\n" ; + exit $E_USAGE ; +fi +if test "$sourceFile" = /dev/stdin ; +then + if tty -s ; then + printf "pdfpun ERROR: tty is connected to connected to stdin, no PDF file found\n" + exit $E_USAGE ; + fi +fi +## +## That's all the argument checking! +## +pageSpec="-" ## the default +case "${1}" in + --* | "") + ;; + *) ## a page spec was given + pageSpec="$1" ; + shift ;; +esac +case "${1}" in + --outfile) + outFile="$2" ; + shift 2 ;; + *) + ;; +esac +if test "$outFile" = "" ; +then + printf "pdfpun ERROR: no output file specified\n" 1>&2 ; + exit "$E_USAGE" ; +fi +pdfjam --reflect true $n $q $c "$sourceFile" "$pageSpec" -o /dev/stdout | \ + pdfjam --landscape --nup 2x1 "$@" -o /dev/stdout | \ + pdfjam --suffix nup --reflect true --fitpaper true $n $q -o "$outFile" + + + |