Ajout option --convert-only pour conversion sans impression

- Ajout flag --convert-only / --no-print
- Permet conversion PDF sans impression automatique
- Utile pour intégration bureau et workflows batch
This commit is contained in:
syoul
2025-12-25 16:38:41 +01:00
parent 91730ebf42
commit 8ff8658ba7

View File

@@ -40,6 +40,7 @@ COLOR=false
DUPLEX="none" DUPLEX="none"
INSTALL_DEPS=false INSTALL_DEPS=false
KEEP_PDF=false KEEP_PDF=false
CONVERT_ONLY=false
CONFIG_FILE="" CONFIG_FILE=""
VERBOSE=false VERBOSE=false
LOG_FILE="" LOG_FILE=""
@@ -99,6 +100,7 @@ OPTIONS:
-d, --duplex MODE Mode recto-verso: none, simplex, duplex (défaut: none) -d, --duplex MODE Mode recto-verso: none, simplex, duplex (défaut: none)
-i, --install-deps Installer les dépendances automatiquement -i, --install-deps Installer les dépendances automatiquement
-k, --keep-pdf Conserver le fichier PDF après impression -k, --keep-pdf Conserver le fichier PDF après impression
--convert-only, --no-print Conversion uniquement (sans impression)
--config FILE Fichier de configuration --config FILE Fichier de configuration
-v, --verbose Mode verbeux (logging DEBUG) -v, --verbose Mode verbeux (logging DEBUG)
-l, --log FILE Fichier de log -l, --log FILE Fichier de log
@@ -410,6 +412,11 @@ while [[ $# -gt 0 ]]; do
KEEP_PDF=true KEEP_PDF=true
shift shift
;; ;;
--convert-only|--no-print)
CONVERT_ONLY=true
KEEP_PDF=true
shift
;;
--config) --config)
if [ -z "${2:-}" ]; then if [ -z "${2:-}" ]; then
log ERROR "Option --config nécessite un argument" log ERROR "Option --config nécessite un argument"
@@ -629,28 +636,32 @@ case "$DUPLEX" in
;; ;;
esac esac
# Impression # Impression (sauf si --convert-only)
log INFO "=== Impression ===" if [ "$CONVERT_ONLY" = false ]; then
log INFO "Options:" log INFO "=== Impression ==="
log INFO " - Copies: $COPIES" log INFO "Options:"
log INFO " - Taille: $SIZE" log INFO " - Copies: $COPIES"
log INFO " - Orientation: $ORIENTATION" log INFO " - Taille: $SIZE"
log INFO " - Qualité: $QUALITY" log INFO " - Orientation: $ORIENTATION"
log INFO " - Couleur: $([ "$COLOR" = true ] && echo "Oui" || echo "Non")" log INFO " - Qualité: $QUALITY"
log INFO " - Recto-verso: $DUPLEX" log INFO " - Couleur: $([ "$COLOR" = true ] && echo "Oui" || echo "Non")"
[ -n "$PAGES" ] && log INFO " - Pages: $PAGES" log INFO " - Recto-verso: $DUPLEX"
[ -n "$PRINTER" ] && log INFO " - Imprimante: $PRINTER" [ -n "$PAGES" ] && log INFO " - Pages: $PAGES"
[ -n "$PRINTER" ] && log INFO " - Imprimante: $PRINTER"
log DEBUG "Exécution: lp ${LP_OPTS[*]} $PDF_FILE" log DEBUG "Exécution: lp ${LP_OPTS[*]} $PDF_FILE"
if ! lp "${LP_OPTS[@]}" "$PDF_FILE" 2>&1 | while IFS= read -r line; do log DEBUG "$line"; done; then if ! lp "${LP_OPTS[@]}" "$PDF_FILE" 2>&1 | while IFS= read -r line; do log DEBUG "$line"; done; then
log ERROR "Erreur lors de l'impression" log ERROR "Erreur lors de l'impression"
log INFO "Le fichier PDF a été conservé: $PDF_FILE" log INFO "Le fichier PDF a été conservé: $PDF_FILE"
exit $EXIT_PRINT_ERROR exit $EXIT_PRINT_ERROR
fi
log INFO "Impression lancée avec succès!"
else
log INFO "Mode conversion uniquement (pas d'impression)"
fi fi
log INFO "Impression lancée avec succès!"
# Gestion du fichier PDF # Gestion du fichier PDF
if [ "$KEEP_PDF" = false ]; then if [ "$KEEP_PDF" = false ]; then
read -p "Supprimer le fichier PDF temporaire? (o/N): " -n 1 -r read -p "Supprimer le fichier PDF temporaire? (o/N): " -n 1 -r