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.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.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

Laissez un commentaire !

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

Fils RSS
qu'est ce qu'un fil RSS et comment en créer ?
Mes codes open source
Des dizaines de sources et snippets, pour apprendre ou se perfectionner
Tutoriel Cocoa / Objective-C
Bases pour créer une appli en Cocoa/Obj-C avec interface + astuces et code sources
Créer un site web : Tutoriel complet
Créer, designer, héberger, rentabiliser
Url propres avec .htaccess / Minimal urls using .htaccess
Un peu d'aide sur .htaccess ça ne se refuse pas ! Who doesn't need a little help with .htaccess :)
PHP/MySQL conseils/tips
In French and English
箱根 (Hakone)
Nuits chaudes et bains chauds
Apple
Ma première journée là-bas !!!
Mes iPhone App
JapanEasy, Wormwar et tout ce qu'il y a à savoir sur les apps
Tournoi de sumos
en un mot : super !
Brosse à dents électrique
Achat d'une brosse à dents électrique. Un bon achat ?
Comment jouer un son en javascript / How to play a sound with javascript
In French and English
Napa et Sonoma Valley, Muir Woods
Coteaux américains et forêts de séquoias
L'avenir du thon rouge
Vote aujourd'hui à Doha...
Guatemala - Surf sur la côte pacifique
Au réveil, après les poules, le bruit des vagues
L'école numérique
Adieu le tableau à craie, place au tableau numérique !
Une année sans hiver ni été
Une start-up est née
Se marier avec une chinoise : démarche et formalités en détail
Le guide pour survivre au parcours du combattant administratif
Cadeaux d'anniversaire
J'ai trouvé ce que je veux !
La maison des tartes
Une de mes petites adresses, rue mouffetard
Quand la justice est sourde
Une autre loi du silence
L'énergie est notre avenir
Et l'avenir est notre énergie