42 lines
941 B
Bash
42 lines
941 B
Bash
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
spreadsheet="$1"
|
||
|
|
||
|
normalize_name () {
|
||
|
echo $* | sed -e 's/[^ -]\+/\L\u&/g' -e 's/ De / de /g'
|
||
|
}
|
||
|
|
||
|
viewjpeg="$(ls /usr/share/ghostscript/*/lib/viewjpeg.ps | tail -1)"
|
||
|
convert_jpeg_to_pdf () {
|
||
|
declare -a jpeg_stanza
|
||
|
while [ $# -gt 1 ]; do
|
||
|
jpeg_stanza+=( "($1) viewJPEG showpage" )
|
||
|
shift
|
||
|
done
|
||
|
gs \
|
||
|
-dNOSAFER \
|
||
|
-sDEVICE=pdfwrite \
|
||
|
-o "$1" \
|
||
|
-g1051x678 \
|
||
|
$viewjpeg \
|
||
|
-c "${jpeg_stanza[*]}"
|
||
|
}
|
||
|
|
||
|
mkdir -p badges
|
||
|
|
||
|
while read line; do
|
||
|
eval member=( $line )
|
||
|
if [ "${member[0]}" = "Clef AXIOM" ]; then
|
||
|
break
|
||
|
fi
|
||
|
number="${member[0]}"
|
||
|
lastname="$(normalize_name "${member[1]}")"
|
||
|
firstname="$(normalize_name "${member[2]}")"
|
||
|
nickname="${member[3]}"
|
||
|
key="${member[4]}"
|
||
|
|
||
|
./create-badge.sh "$number" "$lastname $firstname" "$nickname" "$key"
|
||
|
convert_jpeg_to_pdf recto-out.jpeg verso-out.jpeg badges/"${number//\//_}.pdf"
|
||
|
done < <(xlsx2csv -q all -d ' ' "$spreadsheet" | tail +3)
|