rework: move pdf creation to create-badge.sh
and use `mktemp -d` to create the temporary directory.
This commit is contained in:
parent
f740b7bc73
commit
dc871a3274
2 changed files with 40 additions and 34 deletions
|
@ -1,13 +1,19 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#set -x
|
set -euo pipefail
|
||||||
|
|
||||||
number="$1"
|
number="$1"
|
||||||
name="$2"
|
name="$2"
|
||||||
pseudo="$3"
|
pseudo="$3"
|
||||||
key="$4"
|
key="$4"
|
||||||
|
|
||||||
recto_out=recto-out.jpeg
|
unset tmpdir
|
||||||
verso_out=verso-out.jpeg
|
cleanup () {
|
||||||
|
if [ -n "$tmpdir" ] && [ -d "$tmpdir" ]; then
|
||||||
|
rm -fr "$tmpdir"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
|
||||||
text_to_image () {
|
text_to_image () {
|
||||||
text="$1"
|
text="$1"
|
||||||
|
@ -29,20 +35,39 @@ text_to_qrcode () {
|
||||||
convert "$output" -resize "$width"x "$output"
|
convert "$output" -resize "$width"x "$output"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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[*]}"
|
||||||
|
}
|
||||||
|
|
||||||
# 1. name -> image
|
# 1. name -> image
|
||||||
text_to_image "$number" 42 470 number.jpeg
|
text_to_image "$number" 42 470 "$tmpdir"/number.jpeg
|
||||||
text_to_image "$name" 42 470 name.jpeg
|
text_to_image "$name" 42 470 "$tmpdir"/name.jpeg
|
||||||
text_to_image "$pseudo" 42 470 pseudo.jpeg
|
text_to_image "$pseudo" 42 470 "$tmpdir"/pseudo.jpeg
|
||||||
text_to_image "$key" 36 950 key.jpeg
|
text_to_image "$key" 36 950 "$tmpdir"/key.jpeg
|
||||||
text_to_qrcode "$key" 276 qrcode.png
|
text_to_qrcode "$key" 276 "$tmpdir"/qrcode.png
|
||||||
|
|
||||||
convert verso.jpeg \
|
convert verso.jpeg \
|
||||||
number.jpeg -geometry +535+96 -composite \
|
"$tmpdir"/number.jpeg -geometry +535+96 -composite \
|
||||||
name.jpeg -geometry +535+260 -composite \
|
"$tmpdir"/name.jpeg -geometry +535+260 -composite \
|
||||||
pseudo.jpeg -geometry +535+413 -composite \
|
"$tmpdir"/pseudo.jpeg -geometry +535+413 -composite \
|
||||||
key.jpeg -geometry +47+577 -composite \
|
"$tmpdir"/key.jpeg -geometry +47+577 -composite \
|
||||||
$verso_out
|
"$tmpdir"/verso.jpeg
|
||||||
|
|
||||||
convert recto.jpeg \
|
convert recto.jpeg \
|
||||||
qrcode.png -geometry +693+339 -composite \
|
"$tmpdir"/qrcode.png -geometry +693+339 -composite \
|
||||||
$recto_out
|
"$tmpdir"/recto.jpeg
|
||||||
|
|
||||||
|
[ -d badges ] || mkdir badges
|
||||||
|
convert_jpeg_to_pdf "$tmpdir"/recto.jpeg "$tmpdir"/verso.jpeg badges/"${number//\//_}".pdf
|
||||||
|
|
|
@ -7,24 +7,6 @@ normalize_name () {
|
||||||
echo $* | sed -e 's/[^ -]\+/\L\u&/g' -e 's/ De / de /g'
|
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
|
while read line; do
|
||||||
eval member=( $line )
|
eval member=( $line )
|
||||||
if [ "${member[0]}" = "Clef AXIOM" ]; then
|
if [ "${member[0]}" = "Clef AXIOM" ]; then
|
||||||
|
@ -37,5 +19,4 @@ while read line; do
|
||||||
key="${member[4]}"
|
key="${member[4]}"
|
||||||
|
|
||||||
./create-badge.sh "$number" "$lastname $firstname" "$nickname" "$key"
|
./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)
|
done < <(xlsx2csv -q all -d ' ' "$spreadsheet" | tail +3)
|
||||||
|
|
Loading…
Add table
Reference in a new issue