#!/bin/bash # =============================================== # Kontaktbogen Generator für sehr große Bildmengen # =============================================== # Input: previews/*.jpg # Output: kontaktbogen_pageX.jpg # Optimiert für A0 300 dpi (9933x14043 px) # =============================================== INPUT_DIR="previews" OUTPUT_PREFIX="kontaktbogen" DPI=300 A0_WIDTH=9933 A0_HEIGHT=14043 SPACING=5 # px Abstand zwischen Bildern LABELS=true # true = Dateinamen anzeigen MAX_THUMB_HEIGHT=500 # maximale Höhe der Kacheln # alle JPGs numerisch sortieren FILES=($(ls -1v "$INPUT_DIR"/*.jpg)) NUM_IMAGES=${#FILES[@]} echo "Gefundene Bilder: $NUM_IMAGES" # Max. Bilder pro Seite: Memory-Management # Empfohlen: max 1000 Bilder pro Montage, bei 13k Bildern -> 13 Seiten IMAGES_PER_PAGE=1000 TOTAL_PAGES=$(( (NUM_IMAGES + IMAGES_PER_PAGE -1)/IMAGES_PER_PAGE )) echo "Bilder pro Seite: $IMAGES_PER_PAGE, Gesamte Seiten: $TOTAL_PAGES" # Kontaktbögen erzeugen for (( page=0; page \ -geometry +${SPACING}+${SPACING} \ -background white \ -pointsize 12 \ -label %f \ -tile ${COLS}x${ROWS} \ "$OUTPUT_FILE" else montage "${PAGE_FILES[@]}" \ -thumbnail ${THUMB_WIDTH}x${THUMB_HEIGHT}\> \ -geometry +${SPACING}+${SPACING} \ -background white \ -tile ${COLS}x${ROWS} \ "$OUTPUT_FILE" fi done echo "Fertig! Alle Kontaktbögen erstellt."