#!/bin/bash
# ---------------------------------------------------------------------------- #
## \file scan2pdf.sh
## \author Sebastien Beaugrand
## \sa http://beaugrand.chez.com/
## \copyright CeCILL 2.1 Free Software license
# ---------------------------------------------------------------------------- #
if [ -n "$1" ]; then
marg=$1
else
marg=5
fi
width=`echo $marg | awk '{ print 21 - $1 * 2 / 10 }'`
cat >scan.tex <<EOF
\documentclass[a4paper]{article}
\usepackage{vmargin}
\setmarginsrb{${marg}mm}{${marg}mm}{${marg}mm}{${marg}mm}{0mm}{0mm}{0mm}{0mm}
\usepackage{graphics}
\pagestyle{empty}
\parindent0mm
\pdfimageresolution150
\begin{document}
EOF
list=`ls *.png *.jpg 2>/dev/null`
page=0
err=0
for iter in $list; do
if [ ! -f "$iter" ]; then
echo "error: $iter not found"
exit 1
fi
w=`identify -units PixelsPerCentimeter -verbose $iter |\
grep "Print size: " | awk '{ printf("%.0f\n", $3) }'`
if [ "$w" != "$width" ]; then
if ((err == 0)); then
echo "Todo :" >&2
fi
echo "convert -units PixelsPerInch $iter -density 150 $iter" >&2
((err++))
fi
if ((page > 0)); then
echo '\\' >>scan.tex
fi
echo "\includegraphics{$iter}" >>scan.tex
((page++))
done
cat >>scan.tex <<EOF
\end{document}
EOF
if ((err != 0)); then
exit 1
fi
pdflatex --halt-on-error scan.tex
rm scan.aux
rm scan.log