apple script iBarcoder, récupérer du texte et insérer dans un QR code |
Bienvenue invité ( Connexion | Inscription )
apple script iBarcoder, récupérer du texte et insérer dans un QR code |
26 Dec 2015, 12:30
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 45 Inscrit : 6 Sep 2006 Membre no 67 441 |
Bonjour,
J’aimerais pour un projet insérer automatiquement le texte d’un email dans un QR code. Ce QR code, se trouve dans le logiciel : iBarcoder Ensuite, exporter le fichier créer par iBarcoder (un pdf), l’insérer dans un email et le retourner à une adresse présente dans le même email que le texte. J’essaye avec apple script, mais je suis rapidement bloqué. J’arrive à ouvrir iBarcoder, ouvrir un fichier test que j’ai créer (une page avec un datamatrix au centre) mais je ne trouve pas comment modifier le contenu du datamatrix! en fait je ne trouve pas comment s’appelle la variable. qq pourrait me guider ? Merci -------------------- MacBook et Powerbook,G4 quicksilver, PowerBook, iMac, Macbook Pro, ...
|
|
|
27 Dec 2015, 10:18
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour,
Ce que tu cherches à faire n'est pas simple car l'application iBarcoder n'est pas scriptable. Cela signifie que le développeur/éditeur de cette application n'a pas prévu qu'elle puisse être commandée par des scripts. Le seul moyen de lui faire faire des choses est donc de simuler ce que ferait l'utilisateur devant son clavier et sa souris. Cela s'appelle du GUI scripting. C'est ce que j'ai fait ci-dessous, mais il faut être conscient des limitations de cette méthode : 1) Elle est strictement dépendante de l'interface utilisateur. Je me suis basé sur une version démo de iBarcoder (version 3.7.8). Si, demain, l'éditeur décide de changer le nom des boutons, des zones de texte, et autres éléments graphiques de la fenêtre principale ou leur comportement, le script risque fort de ne plus fonctionner. Il faudra alors l'adapter à la nouvelle interface ! 2) Comme le script simule des clicks et appuis sur des touches, tu ne dois rien faire sur ton mac pendant les quelques secondes de ce script. Sinon, le Mac ne fera pas la différence entre tes clicks/touches et ceux venant du script. Ces mises en garde faites, j'ai donc fait une routine qui reçoit un texte et renvoi un QRcode dans le presse-papier. Comme l'application Mail est parfaitement scriptable, le reste est plus facile avec une boucle sur chaque email sélectionné qui réponds et colle le QRcode avant d'envoyer le mail. J'ai supposé que tu voulais traiter tous les mails que tu as sélectionné, puis tu lances le script. J'ai mis plein (presque trop) de commentaires pour que tu puisse le modifier à ta guise. Tu dois juste copier tout ce texte dans l'éditeur de script et l'enregistrer sous forme d'application (ou même de service via Automator !). Je te laisse cette dernière partie. Cordialement CODE tell application "Mail" to set MesEmails to selection --tous les emails sélectionnés sont traités en boucle
repeat with unMail in MesEmails tell application "Mail" to set MonTexte to (content of unMail) as string --lit le texte de l'email QRCode(MonTexte) -- converti le texte en QRCode dans le presse papier tell application "Mail" activate set MonMessage to reply unMail with opening window -- ouvre une fender de réponse au mail repeat until name of front window is (subject of MonMessage) delay 0.3 end repeat tell application "System Events" to keystroke "v" using {command down} --colle le presse-papier (=QRCode) dans le corps du mail send MonMessage -- envoi du message end tell end repeat on QRCode(TextQR) -- conversion du texte en QR code (comme iBarcoder n'est pas scriptable, on doit passer via l'interface graphique) tell application "iBarcoder" to activate tell application "System Events" tell process "iBarcoder" delay 1 keystroke "a" using {command down} -- selectionne le code barre existant delay 1 -- click on "propriété de codes à barres" si ce n'est pas déjà sélectionné if value of checkbox "Propriétés de codes à barres" of scroll area 1 of window 1 = 0 then click checkbox "Propriétés de codes à barres" of scroll area 1 of window 1 -- 1 si checked end if -- défini le sous menu avec le format QRCode, si ce n'est pas déjà fait if value of pop up button 1 of scroll area 1 of window 1 is not "QRCode" then click pop up button 1 of scroll area 1 of window 1 --click menu item 32 of menu 1 of pop up button 1 of scroll area 1 of window 1 click menu item "QRCode" of menu 1 of pop up button 1 of scroll area 1 of window 1 end if -- met le texte choisi dans la zone QR code set value of text area 1 of scroll area 2 of scroll area 1 of window 1 to TextQR -- copie du QRCode dans le presse-papier keystroke "c" using {command down} end tell end tell end QRCode -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
27 Dec 2015, 12:08
Message
#3
|
|
Adepte de Macbidouille Groupe : Membres Messages : 45 Inscrit : 6 Sep 2006 Membre no 67 441 |
Bonjour,
merci pour ce coup de main! je vais faire qq essais dans les jours qui viennent et je passerai par ici pour te donner des nouvelles! Tout est très clair! c’est parfait! Bonne journée -------------------- MacBook et Powerbook,G4 quicksilver, PowerBook, iMac, Macbook Pro, ...
|
|
|
Nous sommes le : 28th March 2024 - 16:52 |