Compare commits
2 commits
1822dab2c5
...
f740b7bc73
Author | SHA1 | Date | |
---|---|---|---|
|
f740b7bc73 | ||
|
c50ae74f6b |
2 changed files with 56 additions and 9 deletions
|
@ -12,29 +12,35 @@ verso_out=verso-out.jpeg
|
|||
text_to_image () {
|
||||
text="$1"
|
||||
fontsize="$2"
|
||||
output="$3"
|
||||
convert -size 1000x50 xc:white -gravity center -font "Cantarell-Extra-Bold" -pointsize "$fontsize" -fill black -draw 'text 0,0 "'"$text"'"' "$output"
|
||||
maxwidth="$3"
|
||||
output="$4"
|
||||
convert -size $((${#text} * $fontsize))x$((2 * $fontsize)) xc:white -gravity center -font "Cantarell-Extra-Bold" -pointsize "$fontsize" -fill black -draw 'text 0,0 "'"$text"'"' "$output"
|
||||
convert "$output" -trim "$output"
|
||||
if [ "$(identify -format "%w" "$output")" -gt "$maxwidth" ]; then
|
||||
convert "$output" -resize "$maxwidth"x "$output"
|
||||
fi
|
||||
}
|
||||
|
||||
text_to_qrcode () {
|
||||
text="$1"
|
||||
output="$2"
|
||||
width="$2"
|
||||
output="$3"
|
||||
qrencode -t PNG -m 1 -s 9 "$text" -o "$output"
|
||||
convert "$output" -resize "$width"x "$output"
|
||||
}
|
||||
|
||||
# 1. name -> image
|
||||
text_to_image "$number" 42 number.jpeg
|
||||
text_to_image "$name" 42 name.jpeg
|
||||
text_to_image "$pseudo" 42 pseudo.jpeg
|
||||
text_to_image "$key" 36 key.jpeg
|
||||
text_to_qrcode "$key" qrcode.png
|
||||
text_to_image "$number" 42 470 number.jpeg
|
||||
text_to_image "$name" 42 470 name.jpeg
|
||||
text_to_image "$pseudo" 42 470 pseudo.jpeg
|
||||
text_to_image "$key" 36 950 key.jpeg
|
||||
text_to_qrcode "$key" 276 qrcode.png
|
||||
|
||||
convert verso.jpeg \
|
||||
number.jpeg -geometry +535+96 -composite \
|
||||
name.jpeg -geometry +535+260 -composite \
|
||||
pseudo.jpeg -geometry +535+413 -composite \
|
||||
key.jpeg -geometry +47+575 -composite \
|
||||
key.jpeg -geometry +47+577 -composite \
|
||||
$verso_out
|
||||
|
||||
convert recto.jpeg \
|
||||
|
|
41
generate-all-badges-from-member-list.sh
Executable file
41
generate-all-badges-from-member-list.sh
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/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)
|
Loading…
Add table
Reference in a new issue