#!/bin/bash

# Vérifie si des fichiers PDF sont présents dans le répertoire
shopt -s nullglob
pdf_files=(*.pdf)

if [ "${#pdf_files[@]}" -eq 0 ]; then
    echo "Aucun fichier PDF trouvé dans le répertoire."
    exit 1
fi

# Définir le nombre de threads (utilise tous les cœurs si non spécifié)
THREADS=$(nproc)

# Traite chaque fichier PDF
for pdf_file in "${pdf_files[@]}"; do
    # Récupère le nom du fichier PDF sans l'extension
    base_name=$(basename "$pdf_file" .pdf)

    # Crée un répertoire portant le nom du fichier PDF
    output_dir="$base_name"
    mkdir -p "$output_dir"

    # Convertit le PDF en WebP avec multithreading et commence la numérotation à 1
    echo "Traitement de $pdf_file avec $THREADS threads..."
    counter=1
    for page in $(seq 0 $(($(pdfinfo "$pdf_file" | grep -i Pages | awk '{print $2}') - 1))); do
        convert -density 300 -colorspace RGB -background white -flatten -strip -brightness-contrast 20x20  \
            -define thread-count="$THREADS" \
            "$pdf_file[$page]" +repage "$output_dir/${base_name}_$(printf "%04d" $counter).webp"
        ((counter++))
    done

    echo "Conversion terminée pour $pdf_file. Les fichiers sont dans le répertoire $output_dir."
done

echo "Traitement terminé pour tous les fichiers PDF."
