each with only one page.
OPTIONS:
-v: Be verbose.
- -d depth: Use given depth. Default is 1. Unpaper can only handle up to 8.
+ -d depth: Use given depth. Default is 1 for black and white, 8 for colour.
+ Unpaper can only handle up to 8.
-D dpi: Use given DPI. Colour scans on library scanners are usually 300, bw 400.
-s: skip masking/trimming. Overrides -m.
-f: Forceably redo everything.
forceclean=
convertflags=
unpaperflags=
-depthflags="-depth 1"
+depthset=
+depth=
dpi=
skipmask=
verbose=
convertflags="$convertflags -verbose"
unpaperflags="$unpaperflags -v --time"
;;
- d) depthflags="-depth $OPTARG"
+ d) depth="$OPTARG"
;;
D) dpi=$OPTARG
;;
fi
fi
+# guess at depth, unless it's been set
+if [[ "$depth" = "" ]]; then
+ if [[ $( convert $file[0] -format "%k" info: || exit 1 ) == 2 ]]; then
+ depth=1;
+ else
+ depth=8
+ fi
+ if [[ $verbose == 1 ]]; then
+ echo "Depth guessed at $depth."
+ fi
+fi
+
# process pages 1 by 1 to avoid convert gobbling all the memory
for pg in `$my_seq 1 $pages`; do
echo "Processing page $pg."
# convert from pdf
origpnm=$dir/pg-${pgn}.pnm
if [[ ! $([ -e $origpnm ]) || $forcepdf ]]; then
- convert $convertflags $depthflags -density $dpi $file[$(expr $pg - 1)] \
+ convert $convertflags -depth $depth -density $dpi $file[$(expr $pg - 1)] \
$origpnm || exit 1
fi;