Ubuntu : Imprimer plusieurs PDF sans les ouvrir

Pour une fois que je trouve une fonctionnalité sur Windows utile !

Il arrive parfois qu’on souhaite imprimer de multiples PDF se trouvant dans un dossier.
Plutôt que de les ouvrir un par un puis d’utiliser les fonctions d’impression, sous Windows on peut simplement les sélectionner puis faire clique-droit > Imprimer.

Les fichiers seront imprimés à la suite sans avoir eu besoin de les ouvrir.

Malheureusement, cette fonction n’est pas disponible sous Ubuntu par défaut.

Une méthode qui fonctionne pour l’explorateur de fichier Nautilus sous Ubuntu (Gnome/Unity) (mais aussi pour Nemo (Cinnamon) et Caja (Mate)) est d’utiliser les « scripts Nautilus » : https://doc.ubuntu-fr.org/nautilus_scripts.

Pour Ubuntu 22.04, je n’ai pas eu besoin d’installer de paquets supplémentaires pour utiliser ces scripts.
Il est possible cependant que vous deviez installer cups-pdf.

Le but est de créer un script qui va ajouter l’option dans le menu contextuel (le menu avec le « clique-droit »).

Si tous vos PDF que vous souhaitez imprimer sont dans le même dossier, vous pouvez simplement faire clique-droit dans le dossier > « Ouvrir dans un terminal » puis lancer la commande suivante :

lpr *.pdf

Ça va envoyer tous les fichiers PDF du dossier (donc bien faire attention que le chemin d’accès pointe bien sur le dossier en cours).

Si vous ne voulez imprimer que certains fichiers que vous avez sélectionné, il va falloir créer le script suivant.

Ouvrir l’éditeur de document Gedit et coller les lignes suivantes :

#!/bin/bash
#
# pdf-printer.sh
#
# Print files from the right-click context menu in Nautilus.
# Place this script in ~/.local/share/nautilus/scripts.
# The printer to use (as shown in the Printer Configuration
# gui or in /etc/cups/printers.conf).
printer=mon_imprimante
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read file
    do
        lpr -P "$printer" "$file"
done
exit 0

Source : https://www.frenssen.be/2010-05-09-printing-a-file-from-the-right-click-context-menu-in-nautilus/

En remplaçant mon_imprimante par le nom de votre imprimante (que vous trouvez lorsque vous sélectionnez votre imprimante au moment d’imprimer).
Attention aux majuscules et espaces !

Par exemple, pour moi, mon imprimante est : Officejet-5740

Remplacer aussi « NAUTILUS » par Caja ou Nemo en fonction de votre explorateur de fichiers.

Enregistrer le script dans le dossier adéquat en lui donnant le nom « pdf-printer.sh » par exemple.

– Pour Ubuntu Gnome, le dossier est :
~/.local/share/nautilus/scripts

– Pour Mate c’est :
~/.config/caja/scripts

– et pour Cinnamon c’est :
~/.local/share/nemo/scripts

Aller dans le dossier correspondant (ouvrir l’explorateur de fichiers, afficher les fichiers cachés (CTRL + H, par défaut)), faire clique-droit sur le script « pdf-printer.sh » > Propriétés > Permissions > et cocher « Autoriser l’exécution du fichier comme un programme ».

Maintenant, lorsque vous faites un clique-droit, vous avez l’option « Scripts » qui contient « pdf-printer.sh »

Le script ne se limite pas aux PDF, je sais qu’il fonctionne bien avec ce format mais il fonctionne avec d’autres également.
La commande lpr permet de soumettre le fichier à l’imprimante, mais je ne sais pas trop quel format ne peut pas être imprimé (ou imprimé avec une prise en charge partielle) par cette méthode.


Un script bien plus complet est disponible ici : https://wiki.ubuntu-it.org/AmbienteGrafico/FileManager/ScriptStampa.

(avec le Google trad : https://wiki-ubuntu–it-org.translate.goog/AmbienteGrafico/FileManager/ScriptStampa?_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=fr&_x_tr_pto=wapp).


Si rien ne se passe, vérifier en lançant une impression classique qu’aucun message d’erreur n’est indiqué à côté du nom de l’imprimante et essayez de lancer cette commande :

cupsenable mon_imprimante

(en remplaçant mon_imprimante par le nom de votre imprimante comme détaillé plus haut).


Il est possible de faire le même script spécifique pour les documents faits avec Libreoffice :

Il suffit de changer la ligne

lpr -P "$printer" "$file"

en

/usr/lib/libreoffice/program/swriter -p --invisible "$file"

(Source : https://ubuntu-mate.community/t/print-selected-files-with-the-right-click-context-menu-in-caja/15885/3)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Possibilité d'ajouter une balise de SPOILER via la syntaxe suivante :
[spoiler] Texte à cacher [/spoiler]