#!/bin/bash PROGNAME=`basename $0` || exit 1 QUIET=0 DEBUG=0 TEMPLATE=$HOME/src/manuals/swf2pdf-loq/head.tex function debug { if [ "$DEBUG" = "1" ]; then echo "${PROGNAME}:debug:$1" 1>&2; fi } function warning { if [ "$QUIET" = "0" ]; then echo "${PROGNAME}:warning:$1" 1>&2; fi } function usage { echo "Usage: ${PROGNAME} DEVICE" exit } while [ "$1" != "" ]; do case $1 in -D | --debug ) shift DEBUG=1 ;; -q | --quiet ) shift QUIET=1 ;; -h | --help ) shift usage ;; * ) break; ;; esac done TMPDIR= function cleanup { debug "cleanup called, arg=$1" trap - EXIT HUP INT TERM ERR if [ "$TMPDIR" != "" -a -d "$TMPDIR" ]; then debug "removing $TMPDIR" rm -f -r $TMPDIR fi exit $1 } function fatal { echo "${PROGNAME}:${1:-"unknown error"}" 1>&2 cleanup 1 } function sig_handler_HUPINTTERM { fatal "cought HUP, INT or TERM signal, exiting" } function sig_handler_ERR { cleanup 1 } function sig_handler_EXIT { cleanup 0 } trap sig_handler_HUPINTTERM HUP INT TERM trap sig_handler_ERR ERR trap sig_handler_EXIT EXIT TMPDIR=`mktemp -d -p /tmp .$PROGNAME.XXXXXX` if [ ! -f $TEMPLATE ]; then fatal "template $TEMPLATE bestaat niet" fi if [ -f book.pdf ]; then fatal "previous output of this program found" fi if [ ! -f 1.jpg ]; then fatal "page 1 not found" fi cp $TEMPLATE $TMPDIR/book.tex function render_and_convert { for i in "$@"; do BASENAME=`echo $i | cut -f 1 -d .` echo -n "page $BASENAME..." convert $i -monochrome $TMPDIR/$BASENAME-mono-tmp.png #pngcrush -c 0 -rem alla -rem text $TMPDIR/$BASENAME-mono-tmp.png $TMPDIR/$BASENAME-mono.png echo \\page\{$BASENAME-mono-tmp.png\} >> $TMPDIR/book.tex echo " done" done } render_and_convert ?.jpg if [ -f 10.jpg ]; then render_and_convert ??.jpg if [ -f 100.jpg ]; then render_and_convert ???.jpg if [ -f 1000.jpg ]; then render_and_convert ????.jpg fi fi fi #render_and_convert page-???.??? echo \\bye >> $TMPDIR/book.tex CURDIR=`pwd` cd $TMPDIR pdftex $TMPDIR/book.tex mv book.pdf $CURDIR