Applescript pommeC-pommeN-pommeV-pomm...

jiefjief

Membre actif
23 Mars 2006
100
0
Bonjour,
je souhaiterais une petite info avant de me lancer éventuellement dans un script
(mon premier... :D)

Je dois récupérer des images insérées dans des fichiers Word (en assez grande quantité)
et je me demandais si avec un Applescript on pouvait automatiser la procédure suivante :

"
- Dans Word : COPIER (l'image)
- Passer a Photoshop
- Dans photoshop : Nouveau doc (basé sur presse-papier) - Coller - Aplatir - enregistrer

"

Voilà merci pour vos réponses.
 
Astuce :

-depuis Word convertir le fichier en PDF en utilisant un paramètre de conversion qui n'abime pas les images (pas de sous-échantillonage, compression ZIP ou JPG max).

- ouvrir le PDF dans Acrobat et demander à extraire toutes les images du document (menu Options avancées > Traitement du document > Exporter toutes les images).

Tu vas gagner un temps fou !

:up:
 
Merci pour ta reponse

mais j'avais essaye un truc dans ce genre,
exportation en HTML depuis word,
il avait donc cree un dossier avec toutes les images,
probleme les images inserees dans word ont des noms "automatiques"
generes par word (genre 00012544412.jpg) et c'est presque plus long
a reconnaitre les images sur une sortie papier, changer le nom du fichier
que de faire les "copier-coller".
(Je dois nommer chaque image de facon precise correspondant a la reference
qui se trouve dans le fichier Word.)

Merci quand meme. ;)
 
je souhaiterais une petite info avant de me lancer éventuellement dans un script
(mon premier... :D)
On a tous commencé par le premier :D
Je dois récupérer des images insérées dans des fichiers Word (en assez grande quantité)
et je me demandais si avec un Applescript on pouvait automatiser la procédure suivante :

"
- Dans Word : COPIER (l'image)
- Passer a Photoshop
- Dans photoshop : Nouveau doc (basé sur presse-papier) - Coller - Aplatir - enregistrer
Tout cela est bien sûr possible, mais les images existent bien "en vrai" quelque part, non ? Pourquoi passer par un "fait-chier" Word ?
 
Salut ! Les images sont intégrées au doc (c'est pour ça que la bibliothèque de word est faite de dessins vectorisés), plus il y a d'images dans le doc plus il pèse. C'est pas comme inD ou XPress où les img ont leurs dossiers de rangement et sont éditables. Pour rappel, Word est une bouse qui n'est pas destinée à l'édition.
 
On a tous commencé par le premier :D

Tout cela est bien sûr possible, mais les images existent bien "en vrai" quelque part, non ? Pourquoi passer par un "fait-chier" Word ?


Les documents Word sont créés automatiquement
par un logiciel interne du client.
Il genere automatiquement un tableau
dans un .doc en fonction de sa banque de données.
Les documents nous proviennent de differentes personnes
et c'est deja bien d'arriver a recevoir la meme chose de tous... ;)
 
Il y des press papier multiples avec actions Clipmenu :up:

Super utile pour plein d'application, noatement pour enchaîner deiverses actions d'une appli à l'autre : Tuto-démo

:up:
 
Les documents Word sont créés automatiquement
par un logiciel interne du client.
Il genere automatiquement un tableau
dans un .doc en fonction de sa banque de données.
Les documents nous proviennent de differentes personnes
et c'est deja bien d'arriver a recevoir la meme chose de tous... ;)
C'est sûr, mais ce que je veux dire, c'est que les images existent avat d'être insérées dans le document Word. Donc si tu pouvais simplement récupérer ces images originales, ce serait bien plus simple me semble-t-il. Mais si cela n'est vraiment pas faisable...
Je n'ai jamais dû scripter Word plus que ça donc je ne sais pas très bien ce qu'il y a moyen de faire (notamment pour "traiter" toutes les images d'un document). Un rapide coup d'œil au dictionnaire de Word ne me paraît pas encourageant. Mais tu peux toujours scripter au niveau le plus haut, à savoir, comme tu le dis, faire un Pomme-C, etc.
Pour cela, tu dois utiliser les System Events. Essaie un truc de ce genre-ci une fois que dans ton doc Word tu as cliqué sur une image :
Bloc de code:
tell application "Microsoft Word"
	activate
	delay 0.2
	copy
end tell
tell application "Adobe Photoshop CS"
	activate -- activation de Photoshop
	delay 0.2 -- léger délai
	tell application "System Events"
		keystroke "n" using command down -- = Pomme-N, nouveau document
		delay 1
		keystroke return -- (tu dois valider la fenêtre apparaissant alors ; je pense que les dimensions de la nouvelle image sont automatiquement prises, mais tu devras vérifier le mode et la résolution, au moins la 1re fois)
		keystroke "v" using command down -- Pomme-V, coller l'image dans le nouveau doc
		delay 1
	end tell
	flatten document 1
	delay 0.2 -- léger délai
	tell application "System Events"
		keystroke "s" using command down -- Pomme-S, enregistrer le fichier
	end tell
end tell
Donc tu colles ce code dans Editeur de Script, tu compiles (tu ajustes éventuellement les noms des applications) et tu roules pour peu que tu aies sélectionné une image dans Word.
Reviens si ça coince quelque part.
Attention que j'ai fait au plus proche de ce que tu demandais. Ce n'est certainement pas la meilleure façon de scripter Photoshop. Par ailleurs, le script s'arrêtera à l'enregistrement, c'est-à-dire que tu devras encore taper le nom souhaité puis valider les options.
 
merci CMYK pour ton aide, j'y suis presque...
merci pour tes explications.

La ou je bloque c'est pour copier dans "NeoOffice" :D
j'ai essaye de copier-coller tes lignes de raccourcis photoshop
en mettant "C" en guise de touche mais veut pas.
J'ai essaye de remettre end tell, veut pas non plus...

j'ai essayer d'ouvrir un dictionnaire pour voir si la commande
"copier" avait un code particulier mais pas de dictionnaire avec neooffice...

En tous cas ca a avance, deja en copiant l'image et en envoyant le script,
je n'ai plus qu'a entrer le nom du fichier (ce que je serai toujours oblige de faire)

le code en est la :



tell application "NeoOffice"
activate
delay 0.2
"event copy" C'EST LA QUE CA COINCE
end tell
tell application "Adobe Photoshop CS3"
activate -- activation de Photoshop
delay 0.2 -- léger délai
tell application "System Events"
keystroke "n" using command down -- = Pomme-N, nouveau document
delay 0.2
keystroke return -- (tu dois valider la fenêtre apparaissant alors ; je pense que les dimensions de la nouvelle image sont automatiquement prises, mais tu devras vérifier le mode et la résolution, au moins la 1re fois)
keystroke "v" using command down -- Pomme-V, coller l'image dans le nouveau doc
keystroke "e" using command down -- = Pomme-e, applatir
delay 1
end tell
tell application "System Events"
keystroke "s" using command down -- Pomme-S, enregistrer le fichier
end tell
end tell


Au cas ou, si tu sais je suis preneur, mais c'est deja bien :up::up:
 
j'ai insiste et j'ai trouve, ca marche nickel.

Merci CMYK !!

:zen:

Bon, si ça marche, c'est le principal :up:
Juste pour te dire que le verbe copy fait partie du dictionnaire de Word. Si tu passes par NeoOffice, c'est autre chose et apparemment, de ce que tu dis, il n'est pas scriptable. Dans ce cas-là, tu dois simuler le raccourci clavier Pomme-C qui se code via l'application "System Events", donc :

Bloc de code:
tell application "NeoOffice"
activate
delay 0.2
tell application "System Events"
keystroke "c" using command down -- = Pomme-C, copier
end tell
tell application "Adobe Photoshop CS3" -- waouh ! t'es en CS3, toi ! :)
activate -- activation de Photoshop
delay 0.2 -- léger délai
etc.
end tell

Mais tu es sur la bonne voie pour scripter : en avoir assez de se taper des dizaines de fois les mêmes séquences de raccourcis, de va-et-vient entre des applications... être prêt à passer des heures à trouver une solution (je vais sans doute passer à ScriptDebugger qui semble valoir son prix plus que largement et permet de corriger le tir plus rapidement que par à-coups comme dans Editeur de Scripts... et puis demander de l'aide :up:
 
je ne sais pas si je serais capable de créer un script + compliqué de toute pièce
le tien m'a vraiment aidé !
J'ai juste rajouté des lignes de "raccourcis",
heureusement que je n'avais pas à donner des fonctions de menus/ss menu/sss menu...

en tous cas merci beaucoup ! :up: