Pages : 1
#1 Le 25/09/2013, à 22:37
- mao-40
[Évolution] script pdftk
Bonjour,
J'aimerais automatiser une procédure que je réalise pour l'instant à la main :
rotation d'un document pdf A4H de 90° Anti Horaire ;
concaténation de 3 documents pdf dont celui traité précédemment.
Pour la première action, j'utilise :
pdftk tp_56_fichecontrat.pdf cat 1W output tp_56_fichecontrat1.pdf
Pour la deuxième action :
pdftk tp_56_pagedegarde.pdf tp_56_fichecontrat1.pdf tp_56_eleve_imp.pdf cat output tp_56_eleve_compimp.pdf
Ma structure est toujours la même seul le numéro du TP (56 dans cet exemple) change.
et le chemin pour l'atteindre ressemble à cela ou une fois encore seul le numéro du TP change : /home/<user/>/Cours/TP/TP_56
J'aimerais créer un script qui au lancement :
- Me demande le numéro du TP -> $num_tp
- En fonction du numéro saisi, exécute un :
cd /home/<user/>/Cours/TP/TP_'.$num_tp.' ;
- Exécute la commande de rotation :
pdftk tp_'.$num_tp.'_fichecontrat.pdf cat 1W output tp_'.$num_tp.'_fichecontrat1.pdf
- Exécute la commande de concaténation :
pdftk tp_'.$num_tp.'_pagedegarde.pdf tp_'.$num_tp.'_fichecontrat1.pdf tp_'.$num_tp.'_eleve_imp.pdf cat output tp_'.$num_tp.'_eleve_compimp.pdf
- Petit luxe, ouverture du dossier /home/<user/>/Cours/TP/TP_'.$num_tp.'
Est-ce faisable si oui en quoi bash ou autre, quelle doc utiliser ?
Merci pour votre aide
Dernière modification par mao-40 (Le 13/11/2013, à 00:09)
- 1. * Intel Core i7-8700K 3.7GHzx6 - 16Go - Nvidia GeForce GTX 1050 1Go - Ubuntu 23.04 64bits
Hors ligne
#2 Le 25/09/2013, à 22:45
- pingouinux
Re : [Évolution] script pdftk
Bonsoir,
C'est tout-à-fait faisable, et tu l'as presque fait. Il faut juste que tu remplaces '.num_tp.' par "$num_tp", et que tu lises la valeur en tête du script
read -p "Entrer le numéro du TP : " num_tp
Hors ligne
#3 Le 25/09/2013, à 22:55
- mao-40
Re : [Évolution] script pdftk
Ok merci bien,
Je viens de tester ceci :
#!/bin/bash
echo Génération fichier TP complet imprimable
read -p "Entrer le numéro du TP : " num_tp
echo $num_tp
cd /home/mao/Documents/Cours/Cours_tous/01_Cours_TP_MEI/02_TP/TP_"$num_tp"
pdftk tp_"$num_tp"_fichecontrat.pdf cat 1W output tp_"$num_tp"_fichecontrat1.pdf
pdftk tp_"$num_tp"_pagedegarde.pdf tp_"$num_tp"_fichecontrat1.pdf tp_"$num_tp"_eleve_imp.pdf cat output tp_"$num_tp"_eleve_compimp.pdf
evince tp_"$num_tp"_eleve_compimp.pdf
exit 0
Ça a l'air de fonctionner, par contre je n'arrive pas à faire ouvrir le dossier dans lequel est généré le pdf.
EDIT 1 :
Ah si j'ai ajouté ça avant evince... :
nautilus /home/mao/Documents/Cours/Cours_tous/01_Cours_TP_MEI/02_TP/TP_"$num_tp"
Je ne sais pas si c'est très propre, mais ça fonctionne.
EDIT 2 :
en ajoutant & à la fin des lignes evince et nautilus.
evince tp_"$num_tp"_eleve_compimp.pdf &
nautilus /home/mao/Documents/Cours/Cours_tous/01_Cours_TP_MEI/02_TP/TP_"$num_tp" &
Par contre il ne termine pas le script, il faut que je fasse un CTRL C
Dernière modification par mao-40 (Le 25/09/2013, à 23:17)
- 1. * Intel Core i7-8700K 3.7GHzx6 - 16Go - Nvidia GeForce GTX 1050 1Go - Ubuntu 23.04 64bits
Hors ligne
#4 Le 25/09/2013, à 23:32
- mao-40
Re : [Évolution] script pdftk
Comment faire pour qu'un double clic sur le script l'exécute et ne l'ouvre pas dans gedit ?
Pour l'instant je tape : ./script_generation_tp dans un terminal
EDIT 1 :
J'ai réussi à rendre possible l'exécution du script par double-clic (ouvrir avec émulateur de terminal), par contre maintenant après m'avoir demandé le numéro du TP, avoir créé le fichier, le terminal se ferme mais n'ouvre pas le fichier ainsi généré, ni le dossier cible (j'ai essayé thunar à la place de nautilus idem)
Par contre il fonctionne bien lorsqu'il est lancé en ligne de commande.
Ne serait-ce pas une histoire de PATH, je n'ai pas tout saisi à ce sujet ?
EDIT 2 :
Script final qui a l'air de fonctionner :
#!/bin/bash
echo Génération fichier TP complet imprimable
read -p "Entrer le numéro du TP : " num_tp
echo $num_tp
cd /home/mao/Documents/Cours/Cours_tous/01_Cours_TP_MEI/02_TP/TP_"$num_tp"
pdftk tp_"$num_tp"_fichecontrat.pdf cat 1W output tp_"$num_tp"_fichecontrat1.pdf
pdftk tp_"$num_tp"_pagedegarde.pdf tp_"$num_tp"_fichecontrat1.pdf tp_"$num_tp"_eleve_imp.pdf cat output tp_"$num_tp"_eleve_compimp.pdf
rm tp_"$num_tp"_fichecontrat1.pdf
WID=`wmctrl -lx | grep nautilus.Nautilus | head -1 | awk '{print $1}'`
xdotool windowactivate $WID
xdotool key ctrl+t ctrl+l
sleep .1
xdotool type /home/mao/Documents/Cours/Cours_tous/01_Cours_TP_MEI/02_TP/TP_"$num_tp"
xdotool key "Return"
evince /home/mao/Documents/Cours/Cours_tous/01_Cours_TP_MEI/02_TP/TP_"$num_tp"/tp_"$num_tp"_eleve_compimp.pdf
exit 0
Mais avec cette erreur :
XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Dernière modification par mao-40 (Le 26/09/2013, à 00:24)
- 1. * Intel Core i7-8700K 3.7GHzx6 - 16Go - Nvidia GeForce GTX 1050 1Go - Ubuntu 23.04 64bits
Hors ligne