#1 Le 09/06/2015, à 17:08
- Gloops
[RESOLU] Pour un script d'impression
Bonjour tout le monde,
En attendant le débogage, pour pouvoir exploiter au mieux un système qui ne sait m'imprimer que la première page de chaque tâche (d'ailleurs, maintenant que les erreurs d'impression donnent lieu à la sortie d'un fichier d'erreurs, si quelqu'un sait où l'envoyer ça m'intéresse), sur une imprimante LQ100 Epson, je cherche à écrire un script qui imprime un fichier PDF à raison d'une tâche d'impression par page.
J'ai trouvé là (sur ask-ubuntu.com) comment extraire d'un fichier PDF des pages selon les numéros de la première et de la dernière, saisis dans une interface graphique, il me restera à modifier ça pour recueillir les numéros de pages en arguments, ça ne devrait pas être hors d'atteinte.
J'ai trouvé là, aussi sur askubuntu.com, comment faire apparaître un script dans le menu contextuel de Nautilus pour l'exécuter sur le fichier sélectionné (il serait d'ailleurs intéressant de limiter cela à un type de fichiers).
J'ai essayé depuis la console d'imprimer un fichier PDF par la commande lp, je le vois bien apparaître dans la file d'attente de l'imprimante, mais pas sortir sur l'imprimante. Il doit manquer une option à lp ? J'en ai essayé plusieurs ...
Je précise qu'avec la visionneuse Evince j'imprime sans problème, à part qu'il faut sélectionner la page voulue avec l'interface graphique.
Par ailleurs dans ce que j'ai trouvé il va manquer un élément : comment connaître (et recevoir dans une variable de script) le nombre de pages d'un fichier PDF.
Donc pour récapituler les deux points d’achoppement à ce qu'il me semble sont :
comment connaître dans un script le nombre de pages d'un fichier PDF
quelle est la syntaxe exacte d'impression d'un fichier PDF à partir de la ligne de commande ?
Accessoirement, si quelqu'un sait où envoyer un rapport d'erreur d'impression Ubuntu, ou voit un autre commentaire à faire ...
Dernière modification par Gloops (Le 10/06/2015, à 19:44)
Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.
Hors ligne
#2 Le 09/06/2015, à 19:22
- Gloops
Re : [RESOLU] Pour un script d'impression
La première question a sa réponse là :
https://forum.ubuntu-fr.org/viewtopic.php?id=251671
pdftk fichier.pdf dump_data | grep NumberOfPages | cut -f 2 -d ' '
Manque plus que l'impression en ligne de commande ...
Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.
Hors ligne
#3 Le 09/06/2015, à 21:19
- Gloops
Re : [RESOLU] Pour un script d'impression
Quelqu'un a suggéré d'imprimer avec lpr, j'essaierai ça.
A part ça j'ai installé xpdf, dont on a dit du bien aussi.
Je vous dis ça d'une autre machine, parce qu'avant de réussir à fermer la logithèque Ubuntu, il va falloir du temps ...
Donc théoriquement ça doit être résolu, mais je ne peux pas tester pour le moment, pour cause de lenteur de la machine.
Logiquement, il ne me restera donc plus que le rapport d'erreur d'impression à faire parvenir à bon port. C'est dommage qu'on n'ait pas écrit en première ligne l'adresse mail où l'envoyer ...
Dernière modification par Gloops (Le 09/06/2015, à 21:24)
Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.
Hors ligne
#4 Le 10/06/2015, à 07:55
- Sciensous
Re : [RESOLU] Pour un script d'impression
en effet:
lp -P <nom imprimante> fichier.pdf
l'option -P <nom imprimante> est à mettre si +sieurs imprimantes installées et que la LQ n'est pas celle par défaut.
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#5 Le 10/06/2015, à 08:11
- Gloops
Re : [RESOLU] Pour un script d'impression
en effet:
lp -P <nom imprimante> fichier.pdf
l'option -P <nom imprimante> est à mettre si +sieurs imprimantes installées et que la LQ n'est pas celle par défaut.
Oui, c'est bien la syntaxe que j'ai utilisée, et rien ne sort à l'imprimante. J'ai regardé les propriétés de la tâche, et je vois "no page found", alors que j'ai visualisé le document et qu'il comporte une ou plusieurs pages.
J'ai essayé d'ajouter l'option -P pour préciser les numéros de pages (attention que ce n'est pas la même casse avec lp ou lpr), mais c'est pareil.
Qu'est-ce qui a bien pu se passer ?
J'ai essayé xpdf, ça m'affiche une fenêtre avec un bouton pour imprimer, pour le moment je n'ai pas vu de commande en ligne permettant d'imprimer sans confirmation de l'utilisateur.
Dernière modification par Gloops (Le 10/06/2015, à 08:12)
Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.
Hors ligne
#6 Le 10/06/2015, à 11:37
- Gloops
Re : [RESOLU] Pour un script d'impression
Alors voilà où j'en suis : j'avais quelques tâches d'impression lancées avec lp et avec xpdf, qui ne sortaient pas, j'ai tout supprimé de la file d'attente, et demandé l'impression depuis Evince.
ça n'est sorti à l'imprimante qu'au redémarrage du système. Donc, je soupçonne un problème d'installation, donc la question va déménager vers un forum d'impression.
Pendant que je suis dans le forum des scripts, toutefois : dans le message 2 j'ai trouvé comment afficher le nombre de pages d'un fichier PDF
pdftk fichier.pdf dump_data | grep NumberOfPages | cut -f 2 -d ' '
Bon, c'est bien, mais ça ne me dit pas comment mettre ce nombre dans une variable du script ...
Dernière modification par Gloops (Le 10/06/2015, à 11:38)
Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.
Hors ligne
#7 Le 10/06/2015, à 16:04
- Sciensous
Re : [RESOLU] Pour un script d'impression
N=$(pdftk fichier.pdf dump_data | grep NumberOfPages | cut -f 2 -d ' ');
ou en plus "propre":
f=fichier.pdf
N=$(pdftk "$f" dump_data | grep NumberOfPages | cut -f 2 -d ' ');
bon courage avec ton imprimante
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#8 Le 10/06/2015, à 17:04
- Gloops
Re : [RESOLU] Pour un script d'impression
Merci.
Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.
Hors ligne