Site Perso de

Thomas JANNAUD

Des actualités personnelles sous un style impersonnel, et inversement.



Automator et Applescript
Impimer plusieurs liens URL / pages internet en PDF
Print many URL / webpages in PDF 30 Avril 2010

First part in French, second part in English.

automator

Applescript et Automator sont censés rendre plus facile la vie aux gens qui ne programment pas mais qui veulent faire faire à leur ordinateur des choses répétitives. Dans les faits j'aurai passé plus de temps à écrire ces 3 lignes de script qu'à faire à la main ce que je voulais faire :) Il me reste la satisfaction du devoir accompli, ce qui n'est pas rien.

J'ai voulu tout faire en Applescript au début, parce que je pensais que plus on fait d'appels à des choses extérieures, plus je passerai de temps à trouver comment le faire et plus il y aura de soucis. J'ai testé des choses comme :

keystroke "p" using {command down}
delay 1
click menu button "PDF" of sheet 2
click menu item "Save as PDF…" of menu 1 of menu button "PDF" of sheet 2

applescript

Seulement ça n'a pas fonctionné. J'ai remplacé ça par une action automator à télécharger. Il faut ensuite la compiler (= l'enregistrer en tant qu'application, et non processus ; au moins vous êtes sûrs que je ne vous envoie pas de virus et puis vous pouvez modifier le processus, jouer avec...) et lancer mon script :

set listeURL to g() set l to every paragraph of listeURL
set n to length of l
repeat with i from 1 to 1
set b to "http://" & item i of l
do shell script "open -a Firefox " & b
delay 5
my r()
delay 15
end repeat

on r()
tell application "MacBook:Users:Thomas:Desktop:clic.app:Contents:MacOS:clic"
launch
end tell
end r

on g()
return "google.fr
jannaud.free.fr
yahoo.com"
end g

L'action automator se résume exactement à ce qu'on voudrait faire à la main (et que j'ai tenté de faire désespérément en Applescript), et c'est d'ailleurs en enregistrant nos actions qu'on crée le workflow : clic sur l'icône dans le dock (pour donner le focus à Firefox), pomme P pour imprimer, clic sur PDF, ...

action automator

Points importants :

Si vous avez des choses à partager en Applescript ou en Automator, laissez un message s'il vous plait !


automator

Applescript and Automator are meant to make the life easier for people who are not programers but who have to get repetitive stuff on their computer done. That's just theory, because I have spent more time to write this script thant it should have taken me to get things done "by hand" :) but at least I get the satisfaction of having some work done.

I wanted to do everything with Applescript at the beginning, I didn't think about using Automator. I tried some things like

keystroke "p" using {command down}
delay 1
click menu button "PDF" of sheet 2
click menu item "Save as PDF…" of menu 1 of menu button "PDF" of sheet 2

applescript

But this didn't work. I substituted that with an Automator workflow (download here). You have to compile it (= save it as an application, not as a Processus. This so as you can trust what you download from my website) et lancer mon script :

set listeURL to g() set l to every paragraph of listeURL
set n to length of l
repeat with i from 1 to 1
set b to "http://" & item i of l
do shell script "open -a Firefox " & b
delay 5
my r()
delay 15
end repeat

on r()
tell application "MacBook:Users:Thomas:Desktop:clic.app:Contents:MacOS:clic"
launch
end tell
end r

on g()
return "google.fr
jannaud.free.fr
yahoo.com"
end g

The Automator workflow is exactly what you would like to do "by hand" : just record your actions. It does in fact what I couldn't get Applescript do : clic on the icon of Firefox in the Dock (to give it the focus), command P to print, clic on PDF, ...

action automator

Important facts :

If you have tips for anything here in Applescript or Automator, please give them ! Thanks

À lire aussi :
Laissez un commentaire !

Pas besoin de vous connecter, commencez à taper votre nom et une case "invité" apparaîtra.