ADOBE InCopy CS6 User Manual [fr]

ADOBE® INCOPY® CS6
GUIDE DES SCRIPTS
D’ADOBE INCOPYCS6:
APPLESCRIPT
© 2012 Adobe Systems Incorporated. Tous droits réservés.
Statut de mise à jour du document
(pour l’intégralité du document; voir chaque chapitre pour obtenir individuellement le statut de mise à jour de chaque chapitre)
CS6 Mis à jour Dans tout le document, CS5 est remplacé par CS6 et version 7.0 par version 8.0.
Si ce guide est distribué avec un logiciel comprenant un accord avec l’utilisateur final, ce guide, ainsi que le logiciel qu’il décrit, sont fournis sous licence et ne peuvent être utilisés ou copiés qu’en accord avec les termes de cette licence. Sauf autorisation spécifiée dans la licence, aucune partie de ce guide ne peut être reproduite, enregistrée ou transmise sous quelque forme que ce soit, par quelque moyen que ce soit, électronique, mécanique ou autre, sans l’autorisation écrite préalable d’Adobe Systems Incorporated. Veuillez noter que le contenu de ce guide est protégé par des droits d’auteur, même s’il n’est pas distribué avec un logiciel accompagné d’un contrat de licence pour l’utilisateur final.
Les informations contenues dans ce document sont données à titre purement indicatif. Elles peuvent être modifiées sans préavis et ne constituent pas un engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated ne peut être tenu pour responsable des erreurs ou des inexactitudes apparaissant dans les informations fournies par ce guide.
Nous attirons votre attention sur le fait que les illustrations ou images que vous pouvez être amené à incorporer à vos projets peuvent être protégées par des droits d’auteur, auquel cas leur exploitation sans l’autorisation de l’auteur constituerait une violation de ces droits. Veillez à obtenir toutes les autorisations requises de la part des auteurs.
Toutes les références à des noms de société dans les modèles cités en exemple sont indiquées uniquement à des fins de démonstration et ne se réfèrent à aucune organisation existante.
Adobe, le logoAdobe, CreativeSuite, InCopy, InDesign, Illustrator et Photoshop sont des marques ou des marques déposées d’AdobeSystemsIncorporated aux Etats-Unis et/ou dans d’autres pays. Microsoft et Windows sont des marques ou des marques déposées de MicrosoftCorporation aux Etats-Unis et dans d’autres pays. Apple et MacOS sont des marques d’AppleComputer,Incorporated, déposées aux Etats-Unis et dans d’autres pays. Toutes les autres marques citées sont la propriété de leurs détenteurs respectifs.
Adobe Systems Incorporated, 345 Park Avenue, SanJose, Californie95110, Etats-Unis. Avertissement à l’attention des utilisateurs finaux du gouvernement des Etats-Unis. Le logiciel et la documentation sont des articles commerciaux, («Commercial Items»), selon la définition de ce terme dans l’article48C.F.R. §2.101, composés d’un logiciel commercial («Commercial Computer Software») et d’une documentation commerciale relative au logiciel («Commercial Computer Software Documentation») selon la définition de ces termes dans l’article48C.F.R. §12.212 ou48C.F.R. §227.7202, selon le cas. Conformément aux articles 48C.F.R. §12.212 ou48C.F.R. §§227.7202-1 à 227.7202-4, selon le cas, le logiciel commercial et la documentation commerciale relative au logiciel sont cédés sous licence aux utilisateurs du gouvernement des Etats-Unis (a)en tant qu’articles commerciaux uniquement et (b)avec les seuls droits conférés à tout autre utilisateur final tenu par les termes et conditions stipulésici. Droits non publiés réservés en vertu de la législation américaine sur les droits d’auteurs. Adobe Systems Incorporated, 345 Park Avenue, SanJose, CA95110-2704, Etats-Unis. Pour les utilisateurs finaux du gouvernement des Etats-Unis, Adobe s’engage à respecter toutes les lois sur l’égalité des chances, y compris, le cas échéant, les dispositions du décret-loi (Executive Order)11246, tel qu’amendé, la section402 de l’Acte d’assistance à la réhabilitation des vétérans du Vietnam (the Vietnam Era Veterans Readjustment Assistance Act) de1974 (38USC4212) et la section503 de l’Acte de réhabilitation (RehabilitationAct) de1973, tel qu’amendé, ainsi que les règlements de l’article41C.F.R., sections60-1 à 60-60, 60-250 et60-741. Les règlements et la clause d’action affirmative contenus dans la phrase précédente doivent être inclus comme référence.
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Utilisation des scripts de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
A propos de la structure des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Pour plus de détails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
A propos d’InCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Relations entre les fichiers InCopy et InDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Articles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Géométrie de la page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Métadonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Modèle de document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Différences au niveau de l’interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Conception et architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Prise en main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Installation des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Exécution de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Utilisation du panneauScripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Informations relatives au langage AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Utilisation des scripts de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Votre premier script InCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Analyse du script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Terminologie des scripts et modèle d’objet InCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Terminologie des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Présentation du modèle d’objet InDesign et InCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Mesures et positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Ajout de caractéristiques à «HelloWorld» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Fonctions de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Préférences des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Obtention du script en cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Versionnage des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Ciblage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Utilisation de la méthode do script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Envoi de paramètres à l’objet do script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Renvoi des valeurs de l’objet do script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Exécution des scripts au lancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3
Sommaire 4
4 Texte et saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Saisie et importation de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Articles et blocs de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Ajout d’un texte à un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Remplacement de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Insertion de caractères spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Importation de texte et définition des préférences d’importation de texte . . . . . . . . . . . . . . . . . . . . 32
Exportation de texte et définition des préférences d’exportation de texte . . . . . . . . . . . . . . . . . . . . . 35
Objets texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Sélections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Déplacement et copie de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Objets texte et itération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Mise en forme du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Définition des valeurs par défaut du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Polices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Application d’une police . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Modification des propriétés d’un texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Modification de la couleur du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Création et application des styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Suppression d’un style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Importation de styles de paragraphe et de caractère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Recherche et modification de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Préférences de recherche/modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Recherche de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Recherche et remplacement d’une mise en forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Utilisation de l’outil Grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Recherche de glyphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Correction automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Notes de bas de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Interfaces utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Présentation des boîtes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Votre première boîte de dialogue InCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Ajout d’une interface utilisateur à «Hello World» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Création d’une interface utilisateur plus complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Utilisation de ScriptUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Création d’une barre de progression avecScriptUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Création d’un panneau avec barre de boutons au moyen de ScriptUI . . . . . . . . . . . . . . . . . 68
Sommaire 5
6 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Présentation du modèle de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Localisation et noms de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Exécution d’une action de menu à partir d’un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Ajout de menus et d’éléments de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Menus et événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Utilisation des objets d’action de menu de script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7 Evénements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Présentation du modèle de scripts d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
A propos des propriétés des événements et de la propagation des événements . . . . . . 82
Utilisation des objets eventListeners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Exemple d’objet eventListener «afterNew» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Saisie et importation d’une note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Ajout d’une note à un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Remplacement du texte d’une note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Conversion de notes et de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Conversion d’une note en texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Conversion d’un texte en note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Développement et réduction de notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Réduction d’une note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Développement d’une note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Suppression d’une note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Navigation entre les notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Accès à la première note d’un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Accès à la note suivante d’un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Accès à la note précédente d’un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Accès à la dernière note d’un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9 Suivi des modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Suivi des modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Navigation entre les modifications suivies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Acceptation et rejet des modifications suivies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Informations sur les modifications faisant l’objet d’un suivi . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Préférences en matière de suivi des modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Sommaire 6
10 Affectations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Objet affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Ouverture des fichiers d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Itérations dans les propriétés d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Assemblages d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Article d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Objet article affecté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Itérations dans les propriétés de l’article affecté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Meilleure méthode appliquée aux scriptsXML dansInCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Codage des élémentsXML à l’aide des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Configuration des préférencesXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Configuration des préférences d’importation du formatXML . . . . . . . . . . . . . . . . . . . . . . . . 101
Importation du format XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Création d’une baliseXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Chargement des balisesXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Enregistrement des balisesXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Création d’un élémentXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Déplacement d’un élémentXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Suppression d’un élémentXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Duplication d’un élémentXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Retrait d’éléments de la structureXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Création d’un commentaireXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Création d’une instruction de traitementXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Utilisation des attributsXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Utilisation des articlesXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Exportation du formatXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Ajout d’élémentsXML à un article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Association d’élémentsXML à du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Application des styles aux élémentsXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Utilisation des tableauxXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
1
Statut de mise à jour du chapitre
CS6 Inchangé

Introduction

Ce document décrit les opérations suivantes:
X Utilisation de l’environnement de création de scripts Adobe®InCopy®
X Utilisation des fonctions avancées de création de scripts
X Utilisation et saisie de texte dans un document InCopy, notamment recherche et modification de texte
X Création de boîtes de dialogue et autres éléments d’interface utilisateur
X Personnalisation et ajout de menus et création d’actions de menu
X Réponse aux événements de l’interface utilisateur
X Utilisation du langageXML, de la création d’élémentsXML et l’importation de donnéesXML à l’ajout
d’élémentsXML à une mise en page

Utilisation des scripts de ce document

La plupart des scripts présentés dans ce document sont seulement des extraits de script, pas des scripts entiers. Ils ont pour unique vocation d’illustrer la partie spécifique d’un script correspondant au thème abordé dans le texte. Vous pouvez copier les lignes de script présentées dans ce document et les coller dans votre éditeur de scripts; vous devez toutefois être bien conscient que certains ajustements seront nécessaires pour que le script puisse fonctionner. En outre, sachez que les scripts copiés à partir de ce document peuvent contenir des sauts de ligne et autres caractères (provenant de la mise en page du document) susceptibles d’entraîner des erreurs dans vos scripts.
Tous les scripts présentés dans ce document sont regroupés dans une archivezip, accessible depuis la page d’accueil des scripts InCopy, à l’adresse suivante:
http://www.adobe.com/products/InCopy/scripting/index.html
l’archive, déplacez les dossiers correspondant au(x) langage(s) de script de votre choix dans le dossier ScriptsPanel du dossierScripts, situé dans le dossier de l’applicationInCopy. Vous pouvez alors exécuter les scripts à partir du panneauScripts de votre applicationInCopy.

A propos de la structure des scripts

Les exemples de script sont tous écrits à l’aide d’un modèle commun incluant les gestionnaires «main», «mySetup», «mySnippet» et «myTeardown». Nous avons choisi de procéder ainsi afin de simplifier les tests automatisés et la publication; cette méthode n’est pas justifiée pour la construction de vos scripts. En général, la partie du script qui vous intéressera se trouvera dans le gestionnaire «mySnippet».
. Après avoir téléchargé et décompressé
7
CHAPITRE 1: Introduction Pour plus de détails 8

Pour plus de détails

Vous trouverez plus de détails sur la création de scriptsInCopy sur le forum des utilisateurs consacré aux scriptsInCopy (en anglais), à l’adresse suivante: http://www.adobeforums.com créateurs de scripts peuvent poser des questions, envoyer des réponses et partager leurs dernières compositions. Le forum contient plusieurs centaines d’exemples de scripts.
. Dans ce forum, les

A propos d’InCopy

InCopy est une application d’édition de texte collaborative développée pour une utilisation conjointe avec AdobeInDesign®. InCopy vous permet d’effectuer le suivi des modifications, d’ajouter des notes d’édition et d’adapter le texte à l’espace qui lui est réservé. InCopy utilise le même moteur de composition du texte qu’InDesign, c’est pourquoi ces deux applications ajustent la copie dans une page avec une composition identique.
InCopy est destinée à l’environnement d’édition. Cette application permet aux divers participants du flux de travail éditorial de collaborer à la création de magazines, journaux et publications d’entreprises, en favorisant l’édition simultanée du texte et de la mise en page. Elle est principalement utilisée par les éditeurs, rédacteurs, correcteurs, réviseurs et autres intervenants.
InCopy partage de nombreux panneaux et palettes avec InDesign, mais propose également ses propres éléments d’interface utilisateur.

Relations entre les fichiers InCopy et InDesign

Les relations entre les fichiers InDesign et InCopy sont importantes en raison de la répartition du travail au sein du flux de travail de publication qui se produit lorsque les mêmes éléments sont ouverts et modifiés dans les deux applications.
Il existe deux scénarios courants d’exportation à partir d’InCopy:
X Vous pouvez exporter un fichierICML (basé surIDML).
X Vous pouvez exporter un fichierINCX (basé surINX).
Il existe deux scénarios courants d’exportation à partir d’InDesign qui font appel à InCopy:
X Les articles exportés à partir d’InDesign en tant que fichiers InCopy sont des fichiers ou des fluxXML;
les modules externes InCopyExport et InCopyWorkflow chargés dans InDesign proposent cette fonction. Cette approche comporte certaines implications d’ordre pratique: les fichiers InCopy sont beaucoup plus petits, ils transitent plus rapidement sur les réseaux, ils ne contiennent pas de géométrie de page, et les données des fichiers/fluxXML peuvent être utilisées sans InDesign/InCopy (pour les moteurs de recherche, outils de base de données, etc.).
X Les groupes à l’intérieur d’un article (titre, auteur, copie, graphiques ou légendes) peuvent également
être exportés. InDesign et Incopy prennent en charge la création de groupes avec les fichiers d’affectation, qui permettent de gérer les fichiers en ajoutant un fichier supplémentaire utilisé pour le suivi des autres fichiers. Une affectation regroupe plusieurs fichiers dont les contenus sont attribués à une seule personne en vue d’une tâche précise: copie, édition, mise en page et/ou rédaction, par exemple. Les articles figurant dans une affectation sont exportés sous la forme de fichiersInCopy.
informations relatives à la géométrie et les relations entre les fichiers sont incluses dans le fichier
Les d’affectation. InDesign permet à l’utilisateur d’exporter un ensemble d’articles spécifique à l’aide d’une affectation. InCopy ouvre tous les articles situés dans une affectation (sous la forme d’une seule unité). Pour plus de détails, voir le
Chapitre 10, « Affectations».
CHAPITRE 1: Introduction Relations entre les fichiers InCopy et InDesign 9

Articles

Chaque fichier InCopy constitue un article. Un document InDesign contient plusieurs articles modulables en fonction du nombre de documents InCopy, via le processus d’exportation. Ces articles InDesign exportés contiennent un lien accessible dans le panneau Liens (InDesign) ou dans le panneau Affectations en tant que fichiers d’affectation (InCopy).
InCopy ne conserve pas le lien au document InDesign auquel il est associé (s’il en existe un). InDesign conserve les liens avec les fichiers InCopy en tant que liens bidirectionnels.
Les articles peuvent être structurés en langageXML. Ceci signifie que des donnéesXML peuvent contenir d’autres donnéesXML. Cette fonction peut servir à concevoir une structure de données dans laquelle le texte brut d’un article est englobé dans une structure externe contenant des données spécifiques à InCopy (les styles, par exemple).
Dans InCopy, vous pouvez enregistrer le contenu au formatICML/INCX ou, si l’article possède une structure, la structure logique peut être exportée au formatXML.
Un fichier ICML ou INCX peut contenir à la fois des données et du texte balisé InCopy. Si le fichier est exporté sous forme de donnéesXML, les données spécifiques à InCopy sont supprimées. Il ne reste alors que le contenu balisé moins les informations relatives au style.

Géométrie de la page

Les fichiers InCopy ne contiennent pas de géométrie de page. Si la géométrie est requise, elle doit être obtenue à partir du documentInDesign. InCopy peut ouvrir des documents InDesign et extraire les informations de conception et les liens vers les articles exportés. Lorsque la géométrie de page est souhaitée dans InCopy, les fichiers d’affectation peuvent également être fournis.

Métadonnées

La plate-forme XMP (Extensible Metadata Platform) d’Adobe propose une méthode pratique pour créer, échanger et gérer les métadonnées. Les fichiers InCopy prennent en chargeXMP.
Tout comme InDesign propose la commande Fichier > Informations pour afficher les données XMP, InCopy propose la commande Fichier > Informations sur le fichier. Les intégrateurs de systèmes peuvent conserver ces données ou les éliminer lors de l’exportation.
Les métadonnées ajoutées aux articles par les développeurs de logiciels tiers sont conservées lorsqu’elles sont intégrées à des documents InDesign. Vous pouvez visualiser les métadonnées ajoutées dans InDesign (panneau Liens, boîte de dialogue Informations) ou InCopy. Par ailleurs, les développeurs de logiciels tiers peuvent ajouter des fonctionnalités à InDesign de manière à afficher ces métadonnées dans une interface utilisateur personnalisée.
Un point d’extension permet aux prestataires de services d’ajouter du contenu de métadonnées aux fichiersInCopy. Pour plus de détails, voir le Chapitre 11, «
XML».
CHAPITRE 1: Introduction Conception et architecture 10

Modèle de document

Les documents InDesign sont à la base de tout le contenuInDesign. InCopy aussi utilise les documents InDesign, mais il ne s’agit pas du type par défaut.
Dans InDesign et InCopy, le document de base est toujours une base de données. Toutefois, dans InCopy ce document peut être incomplet. Dans InDesign, le document principal type est un fichier InDesign ouvert, mais il peut également s’agir d’un fichierINX ouIDML ouvert, qui se révèle généralement être un document InDesign non enregistré.
InCopy possède d’autres permutations. Il existe le fichier InDesign de base, ainsi qu’un nouveau document comportant un article InCopy (ou du texte brut ou RTF) importé. De même, il existe les fichiers d’affectation IDML et INX qui possèdent une partie d’un fichierInDesign stockée dans un fichierXML. Le modèle de document InDesign/InCopy correspond à l’ensemble de modules externes du modèle de base requis, dont la version évolue en fonction des modifications dans le temps. Il est important que tous les scripts IDML/INX fonctionnent à la fois dans InDesign et InCopy afin que les documents puissent être déplacés d’une application à l’autre tout en étant fidèlement restitués.

Différences au niveau de l’interface utilisateur

InDesign et InCopy ont de nombreux panneaux en commun, mais InCopy dispose d’un affichage plus petit et possède plusieurs barres d’outils supplémentaires le long des bordures supérieure, inférieure et gauche. Vous pouvez ancrer la plupart des panneaux InCopy sur ces barres pour les rendre visibles en toutes circonstances, mais avec une taille plus petite.
InCopy dispose d’une fenêtre personnalisée à plusieurs vues, dans une fenêtre principale ayant trois onglets: Mode Epreuve en placard, Mode Article et Mode Mise en page. Le Mode Mise en page est le mode d’affichage principal d’InDesign. Les modes Epreuve en placard et Article font partie du mode éditeur, avec et sans fins de lignes exactes, respectivement.

Conception et architecture

Relation article/fichier
Le format ICML est la représentationIDML d’un article InCopy. Il représente la future direction d’InDesign/InCopy et constitue un choix judicieux si vous devez modifier un fichier en dehors d’InDesign.
FormatICML
Chaque fichier ou flux InCopy utilise le langageXML. Ceci permet de facilement analyser les fichiers InCopy et de les ouvrir dans n’importe quel éditeur de texte.
FormatINCX
Le format INCX est la représentationINX d’un article InCopy. Ce format n’est pas aussi convivial que le formatICML, mais il prend en charge les flux de travailINCX.
CHAPITRE 1: Introduction Conception et architecture 11
Opérations sur un document
InCopy fournit des implémentations par défaut des opérations exécutées sur les documents (actions sur les fichiers), comme Nouveau, Enregistrer, Enregistrer sous, Enregistrer une copie, Ouvrir, Fermer, Version précédente et Mettre à jour la maquette. Toutes ces actions exécutables sur les fichiers InCopy sont situées dans un seul module externe (InCopyFileActions) sous la forme d’un code source. Les développeurs de logiciels ou les intégrateurs de systèmes sont supposés le remplacer par leurs propres implémentations afin de personnaliser l’interaction pour leur système de flux de travail.
Utilisation des métadonnéesXMP
Les utilisateurs peuvent saisir ou modifier des métadonnées en sélectionnant Fichier > Informations sur le fichier. Ces métadonnées sont enregistrées dans le fichierInCopy. Les développeurs de logiciels et les intégrateurs de systèmes peuvent créer et stocker leurs propres métadonnées à l’aide du SDKXMP.
2
Statut de mise à jour du chapitre
CS6 Mis à jour Références à CS5 supprimées ou modifiées.

Prise en main

Les scripts représentent la fonction la plus puissante d’Adobe®InCopy®. Aucune autre fonction (outil, panneau ou boîte de dialogue visible sur l’interface utilisateur du programme) n’est aussi rapide, facile et économique que le script.
Le présent document s’adresse à tous les utilisateursd’InCopy. Si vous n’avez jamais créé de script, ce document vous aidera à commencer. Si vous avez déjà créé des scripts pour d’autres applications, vous apprendrez à appliquer vos connaissances aux scriptsInCopy. Ce document traite également de l’installation et de l’exécution d’un scriptInCopy, ainsi que des capacités et limites des scriptsInCopy. Vous y trouverez aussi des indications sur les logiciels dont vous avez besoin pour commencer à écrire vos propres scripts.
A l’aide des scripts, vous pouvez reproduire la plupart des opérations que vous exécutez dans l’interface utilisateurInCopy. Vous pouvez entrer du texte et le mettre en forme, rechercher et modifier du texte, ajouter des notes et imprimer ou exporter les pages du document. Toute opération apportant une modification au document ou à son contenu peut être réalisée à l’aide d’un script. Les scripts vous permettent même d’exécuter certaines opérations qui ne sont pas réalisables avec l’interface utilisateur.
Les scripts permettent de créer des menus, d’ajouter des éléments de menu, de créer et d’afficher des boîtes de dialogue et des panneaux, mais également de répondre aux sélections de l’interface utilisateur. Ils peuvent lire et écrire des fichiers texte, analyser des donnéesXML et communiquer avec d’autres applications. Les scripts permettent d’effectuer toutes sortes de tâches, des plus simples (telles que la définition d’un taquet de tabulation à l’emplacement du pointeur de texte) aux plus complexes, comme la définition d’un ensemble complet de fonctions. Vous pouvez commencer avec des scripts simples qui n’exécutent qu’une action, puis passer aux scripts qui automatisent le flux de travail de publication toutentier.
Les tâches que vous ne pouvez pas exécuter à l’aide de scripts, telles que la définition d’un espace de travail ou d’un ensemble de raccourcis clavier, sont associées à l’interface utilisateur. En outre, les scripts ne permettent pas d’ajouter de nouveaux types d’objets à un documentInCopy ni d’ajouter une nouvelle fonctionnalité de base au programme, telle qu’un moteur de composition de texte. Pour ce type d’extension, vous devez avoir recours au kitSDK (Software Developer’s Kit) d’InCopy, qui vous indique comment écrire des modules externes compilés à l’aide du langageC++.
Ce document traite d’AdobeInDesign® et d’InCopy, car InCopy est quasiment toujours utilisé en association avec des documentsInDesign. En outre, la création de scripts InDesign est très proche de celle de scriptsInCopy. Vous trouverez de plus amples détails sur la création de scriptsInDesign dans le Didacticiel de scripts AdobeInDesign et le Guide des scripts d’AdobeInDesign.

Installation des scripts

Pour installer un script InCopy, il vous suffit de placer le fichier de script dans le dossier ScriptsPanel du dossierScripts, situé dans le dossier de l’applicationInCopy.
Vous pouvez également placer le script dans le dossier ScriptsPanel de votre dossier de préférences utilisateur. Vous trouverez le dossier de vos préférences utilisateur à l’emplacement suivant, où
<username> correspond à votre nom d’utilisateur et le symbole~ (tilde) représente le volume système:
MacOS®:
/Users/<username>/Library/Preferences/Adobe InCopy/ Version
8.0/<locale>/Scripts
12
Prise en main Exécution de scripts 13
Une fois dans le dossier, le script s’affiche dans le panneauScripts de l’applicationInCopy (choisissez la commande Fenêtre>Scripts pour afficher ce panneau).
Vous pouvez également placer des alias ou des raccourcis de scripts (ou de dossiers contenant des scripts) dans le dossier ScriptsPanel. Ils s’afficheront dans le panneauScripts.

Exécution de scripts

Pour exécuter un script, vous devez afficher le panneauScripts (choisissez la commande Fenêtre>Scripts), puis cliquer deux fois sur le nom du script dans le panneauScripts. De nombreux scripts affichent des éléments d’interface utilisateur (boîtes de dialogue ou panneaux, parexemple), ainsi que des messages d’alerte, si nécessaire.
Utilisation du panneauScripts
Le panneauScripts peut exécuter des AppleScripts (fichiers avec l’extension.spt, .asou.applescript) compilés ou non, des JavaScripts (fichiers avec l’extension l’extension
Pour modifier un script affiché dans le panneauScripts, cliquez deuxfois sur le nom du script tout en maintenant la toucheOption (MacOS) ouAlt (Windows) enfoncée. Le script s’ouvre dans l’éditeur défini pour son type de fichier.
Pour ouvrir le dossier contenant un script affiché dans le panneauScripts, cliquez deuxfois sur le nom du script tout en maintenant la toucheCommande (MacOS) ou les touches Ctrl+Maj (Windows) enfoncées. Vous pouvez également choisir la commande Faireapparaître dans le Finder (MacOS) ou Faireapparaître dans l’Explorateur (Windows), dans le menu du panneauScripts. Le dossier contenant le script s’ouvre dans le Finder (MacOS) ou l’Explorateur (Windows).
.vbs) ou des programmes exécutables à partir de ce panneau.
.js ou.jsx), des VBScripts (fichiers avec
Les scripts s’exécutent sous la forme d’une série d’opérations (actions), ce qui signifie que vous pouvez annuler les modifications apportées au document par le script en choisissant la commandeAnnuler dans le menuEdition. Vous pouvez ainsi dépanner un script, en revenant aux étapes précédentes pour chaque modification.
Pour ajouter un raccourci clavier à un script, choisissez la commande Edition> Raccourcisclavier, sélectionnez un ensemble de raccourcis modifiable dans le menuEnsemble, puis sélectionnez l’optionScripts dans le menuZone duproduit. Une liste de scripts apparaît dans le panneauScripts. Sélectionnez un script, puis affectez-lui un raccourci clavier comme vous le feriez pour n’importe quelle autre fonction d’InCopy.

Informations relatives au langage AppleScript

Pour écrire des AppleScripts, vous devez posséder AppleScript version1.6 ou supérieure, ainsi qu’un éditeur de scriptsAppleScript. AppleScript est fourni avec tous les systèmes Apple® et peut être téléchargé gratuitement à partir du siteWebd’Apple. L’éditeur de scripts Apple est fourni avec MacOS; vous pouvez y accéder depuis les menus:
MacOSX10.5
MacOSX10.6 Applications > Utilities > AppleScript Editor
Des éditeurs de script tiers, tels que ScriptDebugger (de Late Night Software,
http://www.latenightsw.com
Applications > AppleScript > Script Editor
), sont également disponibles.
Prise en main Utilisation des scripts de ce document 14

Utilisation des scripts de ce document

Pour utiliser n’importe quel script de ce document, ouvrez le fichier de script d’apprentissage (le nom de fichier figure devant chaque script) ou copiez le code indiqué dans ce chapitre.
Les fichiers de script sont stockés dans une archive zip:
InCopyCS6ScriptingGuideScripts.zip.
Au moment de décompresser l’archive, vous pouvez déplacer le dossier contenant les scripts créés dans le langage de script que vous avez choisi d’utiliser (AppleScript, JavaScript ou VBScript) dans le dossier ScriptsPanel. Il est beaucoup plus aisé d’utiliser des fichiers de script que de saisir manuellement les scripts ou de les copier-coller depuis ce document.
Si vous n’avez pas accès à l’archive des scripts, vous pouvez saisir le code de script indiqué dans ce chapitre. Pour ce faire:
1. Copiez le script à partir de ce document AdobePDF et collez-le dans l’Editeur AppleScript.
2. Enregistrez le script dans un fichier de texte brut dans le dossier ScriptsPanel (voir la section
« Installation des scripts » à la page 12) avec l’extension appropriée: .applescript.
3. Choisissez la commande Fenêtre>Scripts pour afficher le panneauScripts.
4. Pour exécuter le script, cliquez deux fois sur son nom dans le panneauScripts.
La saisie manuelle de scripts ne fonctionne que pour les scripts présentés dans ce chapitre. Les scripts présentés dans les autres chapitres sont seulement des extraits de script, pas des scripts entiers. Pour les exécuter, vous devez utiliser les scripts contenus dans l’archive de scripts.
EMARQUE : si vous copiez et collez des scripts de ce document, soyez conscient que les sauts de ligne
R
provenant de la mise en page du document peuvent entraîner des erreurs dans vos scripts. Ces erreurs pouvant être difficiles à repérer, il est recommandé d’utiliser les scripts dans l’archivezip.

Votre premier script InCopy

Nous allons maintenant créer un scriptInCopy pour générer un document, ajouter un bloc de texte et entrer du texte dans ce bloc. Malgré son apparence simple, ce script permet d’effectuer les opérations suivantes:
X Etablissement de la communication avecInCopy
X Création d’un document
X Ajout de texte à un article
Lancez l’éditeur de scripts (vous le trouverez dans le dossier Applications, à l’intérieur du dossier AppleScript). Saisissez le script suivant (ou ouvrez le script d’apprentissage
tell application "Adobe InCopy CS6"
set myDocument to make document set myStory to story 1 of myDocument tell myStory
set contents to "Hello World!"
end tell
end tell
Enregistrez le script dans un fichier texte avec l’extension.applescript dans le dossier ScriptsPanel (voir la section « dans le panneauScripts ou cliquez sur le boutonExécuter dans la fenêtre de l’éditeur de scripts.
Installation des scripts » à la page 12). Pour exécuter le script, cliquez deux fois sur son nom
HelloWorld.applescript):
Prise en main Terminologie des scripts et modèle d’objet InCopy 15

Analyse du script

Cette section présente une analyse détaillée du script HelloWorld.
1. Etablissement de la communication avec l’objet d’applicationInCopy
tell application "Adobe InCopy CS6"
2. Création d’un document et d’une référence au document
Set myDocument to make document
3. Obtention d’une référence au premier article du document (un document autonome contient toujours un article)
set myStory to story 1 of myDocument tell myStory
4. Ajout de texte à l’article en définissant la propriété de contenu sur unechaîne
set contents of myStory to "Hello World!"

Terminologie des scripts et modèle d’objet InCopy

Maintenant que vous avez créé votre premier script InCopy, le moment est venu de vous familiariser avec la terminologie des langages de script engénéral, et d’InCopy enparticulier.

Terminologie des scripts

Passons tout d’abord en revue quelques termes et concepts utilisés couramment dans la création de scripts.
Commentaires
Les commentaires permettent d’ajouter un descriptif à un script. Les commentaires sont ignorés pendant l’exécution d’un script (ils ne génèrent donc aucune erreur). Ils permettent de documenter les opérations d’un script (pour mémoire ou pour un autre développeur). Dans ce document, nous utilisons des commentaires pour les scripts d’apprentissage.
Pour inclure un commentaire dans un script AppleScript, insérez ou placez le commentaire entre
--this is a comment
(* and so is this *)
-- (deuxtirets) à gauche du commentaire
(*et*). Par exemple:
Prise en main Terminologie des scripts et modèle d’objet InCopy 16
Valeurs
Le corps d’un caractère de texte, le contenu d’une remarque et le nom de fichier d’un document sont autant d’exemple de valeurs utilisées pour la création de scriptsInCopy. Les valeurs sont des données utilisées par un script pendant son exécution.
Le
type
d’une valeur définit quelle sorte de donnée elle contient. Le type de valeur du contenu d’un mot, par exemple, est une chaîne de texte. De même, le type de valeur de l’interligne d’un paragraphe est un nombre. En général, les valeurs utilisées dans un script sont des nombres ou du texte. Le tableau ci-dessous répertorie les types de valeurs les plus couramment utilisées pour la création de scriptsInCopy.
Type de valeur Nature Exemple
Boolean True ou False logique.
Integer Nombres entiers (sans virgule).
True
14
Les entiers peuvent être positifs ou négatifs.
Fixed or real Nombre très précis pouvant être
13.9972
décimal.
String Série de caractères de texte. Les
"I am a string"
chaînes de texte sont présentées entre guillemets anglais.
List Liste de valeurs (ces valeurs
{"0p0", "0p0", "16p4", "20p6"}
pouvant être de tout type).
Conversion de valeurs d’un type à un autre
Le langage AppleScript permet de convertir des valeurs variables d’un type à un autre. Parmi les conversions les plus courantes, citons la conversion de nombres en chaînes de texte (ce qui permet d’entrer des nombres comme texte ou de les afficher dans des boîtes de dialogue) ou la conversion de chaînes de texte en nombres (ce qui permet de définir un corps ou une position de page).
--To convert from a number to a string: set myNumber to 2 set myString to (myNumber as string)
--To convert from a string to a number: set myString to "2" set myNumber to (myString as integer)
--if your string contains a decimal value, use "as real" rather than "as integer"
Variables
Une variable est le conteneur d’une valeur. Les variables sont ainsi nommées car les valeurs qu’elles contiennent peuvent changer. Une variable peut contenir un nombre, une chaîne de texte ou une référence à un objetInCopy. Les variables portent un nom. Vous ferez donc référence à une variable par son nom. Pour placer une valeur dans une variable, vous devez l’assigner à cette variable.
Dans tous les exemples de scripts et les scripts d’apprentissage accompagnantInCopy, les variables commencent par termes du langage de script.
my. Vous pouvez ainsi différencier facilement les variables créées dans un script des
Prise en main Terminologie des scripts et modèle d’objet InCopy 17
Affectation d’une valeur à une variable
L’affectation de valeurs ou de chaînes de texte à des variables est très simple, comme l’illustrent les exemples suivants:
set myNumber to 10 set myString to "Hello, World!" set myTextFrame to make text frame at page 1 of myDocument
Dans la mesure du possible, utilisez des noms évocateurs pour les variables, tels que firstPage ou
corporateLogo plutôt quex ouc, parexemple. Votre script sera beaucoup plus lisible. L’utilisation de
noms longs n’affecte en rien la vitesse d’exécution du script.
Les noms de variables doivent être composés d’un seul mot, mais vous pouvez utiliser les majuscules (pour écrire
myFirstPage, par exemple) ou les traits de soulignement (my_first_page) afin de les rendre
plus lisibles. Les noms de variables ne peuvent pas commencer par un chiffre, ni contenir des signes de ponctuation ou des guillemets de citation anglais.
Variables de tableau de données
Dans AppleScript, un tableau de données est appelé liste. Une liste est un conteneur d’une série de valeurs:
set myArray to {1, 2, 3, 4}
Pour faire référence à un élément d’un tableau de données, vous devez utiliser son numéro dans le tableau. EnAppleScript, le premier élément d’un tableau est l’élément1:
set myFirstArrayItem to item 1 of myArray
Un tableau de données peut en contenir un autre, comme dans les exemples ci-dessous:
set myArray to {{0, 0}, {72, 72}}
Détermination du type de valeur d’une variable
Parfois, un script doit prendre des décisions en fonction du type de valeur d’un objet. Si vous travaillez sur un script opérant sur une sélection de texte, parexemple, vous devrez peut-être définir l’arrêt du script si aucune sélection n’est effectuée.
-- Given a variable of unknown type, "myMysteryVariable"... set myType to class of myMysteryVariable
--myType will be an AppleScript type (e.g., rectangle)
Opérateurs
Les opérateurs utilisent des variables ou des valeurs pour exécuter des calculs (addition, soustraction, multiplication et division) et renvoyer une valeur. Par exemple:
MyWidth/2
renvoie une valeur égale à la moitié du contenu de la variablemyWidth.
Vous pouvez également utiliser des opérateurs pour effectuer des comparaisons (est égalà(=), est différent de(
<>), est supérieurà(>) ou est inférieurà(<)). Par exemple:
MyWidth > myHeight
renvoie la valeur «true» (ou 1) si myWidth est supérieur à myHeight, ou «false» (0) si ce n’est pas le cas.
Prise en main Terminologie des scripts et modèle d’objet InCopy 18
EnAppleScript, utilisez l’opérateur& pour concaténer (ou joindre) deux chaînes. Par exemple:
"Pride " & "and Prejudice"
renvoie la chaîne de texte:
"Pride and Prejudice"
Instructions conditionnelles
«Si la taille du texte sélectionné est de 12points, définissez le corps sur 10points». Il s’agit d’un exemple d’instruction conditionnelle. Les instructions conditionnelles permettent au script d’évaluer des conditions (telles que la couleur du texte sélectionné, le nombre de pages du document ou la date) et d’agir en fonction du résultat. La plupart des instructions conditionnelles commencent par
if.
Structures de contrôle
Si vous pouviez parler à InCopy, vous pourriez lui dire notamment «Répète vingt fois la procédure suivante.». En terminologie des scripts, cette instruction est appelée structuredecontrôle. Les structures de contrôle gèrent les processus répétitifs ou boucles. Une boucle répète une action continuellement, avec ou sans changement entre les instances (ou itérations) de la boucle, jusqu’à ce qu’une condition spécifique soit remplie. Les structures de contrôle commencent généralement par
repeat.
Gestionnaires
Les gestionnaires sont des modules auxquels vous pouvez faire référence dans un script. Généralement, vous envoyez une valeur ou une série de valeurs à un gestionnaire et obtenez une ou plusieurs autres valeurs. Rien de particulier à mentionner sur le code utilisé dans les gestionnaires (ils ont été créés pour vous éviter de saisir les mêmes lignes de code de façon répétée dans un script). Les gestionnaires commencent par
on.

Présentation du modèle d’objet InDesign et InCopy

Lorsque vous pensez aux documentsInCopy et InDesign, vous organisez certainement les programmes et leurs composants dans votre esprit. Vous savez que les paragraphes sont contenus dans des blocs de texte qui à leur tour apparaissent sur une page, qu’une page fait partie d’une planche, et que plusieurs planches composent un document. Les documents contiennent des couleurs, des styles, des calques et des planchestypes. Lorsque vous considérez les objets dans les documents que vous créez, vous pensez intuitivement à leur ordre.
InDesign et InCopy «appréhendent» le contenu d’un document de la même manière. Un document contient des pages, qui à leur tour contiennent des éléments de page (blocs de texte, rectangles, ellipses, et ainsi de suite). Les blocs de texte contiennent des caractères, des mots, des paragraphes et des blocs ancrés; les blocs graphiques contiennent des images, des fichiersEPS ou des fichiersPDF; les groupes contiennent d’autres éléments de page. Tous ces éléments sont les objets qui composent une publicationInDesign, et qui sont utilisés pour écrire les scriptsInDesign etInCopy.
Les objets de votre publication sont organisés dans un ordre spécifique: les paragraphes figurent à l’intérieur d’un article, qui lui-même figure dans un document, qui à son tour figure à l’intérieur de l’objet d’applicationInCopy. Les termes modèle d’objet et hiérarchie font référence à cette structure. Il est impératif de posséder une bonne compréhension du modèle d’objet pour bien identifier l’objet que vous souhaitez utiliser. Votre meilleur guide pour créer des scripts dansInCopy est votre connaissance de l’applicationelle-même.
Les objets possèdent des propriétés (attributs). Par exemple, les propriétés d’un objet texte incluent la police utilisée pour la mise en forme du texte, le corps et l’interligne appliqués au texte.
Prise en main Terminologie des scripts et modèle d’objet InCopy 19
documents
libraries
application defaults
application
books
application preferences
application events
application menus
application methods
application properties
a document
document defaults
document preferences
document events
document methods
document properties
pages or spreads
page
page itemsstories
text objects
document elements
Les propriétés possèdent des valeurs. Ainsi, le corps des caractères du texte peut être représenté par un nombre (enpoints) ou par la chaîne «Auto» pour l’interligne automatique. La propriété de couleur de fond du texte peutêtre définie sur une couleur, un dégradé, une encremélangée ou une nuance.
Les propriétés peuvent être en lecture/écriture ou en lectureseule. Vous pouvez définir les propriétés en lecture/écriture sur d’autres valeurs, mais pas les propriétés en lectureseule.
Les objets possèdent également des méthodes. Les méthodes correspondent à des verbes de création de scripts, aux actions qu’un objet peut effectuer. Par exemple, l’objet de document contient des méthodes d’impression, d’exportation et d’enregistrement.
Les méthodes possèdent des paramètres ou des valeurs définissant l’effet de la méthode. La méthode open, par exemple, possède un paramètre qui définit le fichier àouvrir.
L’illustration suivante est une vue d’ensemble du modèle d’objetInCopy. Ce diagramme ne représente pas la liste complète des objets disponibles dans les scriptsInCopy. Il s’agit simplement d’une structure conceptuelle permettant de comprendre la relation entre les types d’objets.
Prise en main Terminologie des scripts et modèle d’objet InCopy 20
Les objets figurant dans le diagramme sont expliqués dans le tableau suivant:
Te rm e S ig n if i ca ti o n
Application InCopy
Application defaults
Les paramètres par défaut de l’application, tels que les couleurs, les styles de paragraphe et les styles d’objet. Les valeurs par défaut de l’application concernent tous les nouveaux documents.
Application events
Les événements qui se produisent à mesure qu’un utilisateur travaille dans l’application ou qu’un script s’exécute. Les événements sont générés par l’ouverture, la fermeture ou l’enregistrement d’un document ou par la sélection d’une commande de menu. Les événements peuvent déclencher des scripts.
Application menus
Les menus, sous-menus et menus contextuels qui s’affichent dans l’interface utilisateurd’InCopy. Vous pouvez attacher des scripts aux menus pour exécuter des commandes.
Application methods
Application preferences
Les opérations que l’application peut effectuer, notamment rechercher et remplacer du texte, copier la sélection, créer des documents ou ouvrir des bibliothèques.
Parexemple, les préférences de texte, les préférences d’exportationPDF et les préférences de document. De nombreux objets de préférences existent également au niveau du document. Tout comme dans l’interface utilisateur, les préférences d’application s’appliquent aux nouveaux documents; les préférences de document modifient les paramètres d’un document spécifique.
Application properties
Les propriétés de l’application, notamment le chemin complet de l’application, ses paramètres régionaux et le nom d’utilisateur.
Books Une collection de livres ouverts.
Document Un document InCopy.
Document defaults
Document elements
Les paramètres par défaut du document, tels que les couleurs, les styles de paragraphe et les paramètres par défaut de mise en forme de texte.
Parexemple, les articles, les graphiques importés et les pages d’un document. L’illustration ci-dessus indique des pages et des articles, car ces objets sont d’importants conteneurs d’autres objets. Toutefois, les éléments de document incluent également des rectangles, des ovales (ellipses), des groupes, des élémentsXML, ainsi que tout autre type d’objet que vous pouvez importer ou créer.
Document events
Document methods
Document preferences
Document properties
Les événements qui se produisent au niveau du document, parexemple, l’importation de texte (voir Application events plus haut dans le tableau).
Les opérations que le document peut effectuer, notamment fermer, imprimer ou exporter un document.
Les préférences d’un document, telles que les préférences de repères, d’affichage ou de document.
Par exemple, le nom de fichier du document, le nombre de pages ou l’emplacement de l’origine (pointzéro).
Documents Une collection de documents ouverts.
Libraries Une collection de bibliothèques ouvertes.
Page Une page dans un document InCopy.
Prise en main Terminologie des scripts et modèle d’objet InCopy 21
Te rm e S ig n if i ca ti o n
Page item Tout objet que vous pouvez créer ou placer sur une page. Il existe de nombreux types
d’éléments de page, tels que des blocs de texte, des rectangles, des lignes graphiques et des groupes.
Pages or spreads
Stories Le texte dans un documentInCopy.
Text objects Les caractères, mots, lignes, paragraphes et colonnes de texte sont des exemples
Les pages ou les planches dans un documentInCopy.
d’objets texte dans un articleInCopy.
Consultation du modèle d’objet InCopy
Vous pouvez afficher le modèle d’objetInCopy à l’intérieur de votre application d’édition de scripts. Toutes les informations de référence sur les objets et leurs propriétés et méthodes sont stockées dans le modèle et peuvent être affichées.
Pour afficher le dictionnaire AppleScript d’InCopy:
1. Lancez InCopy.
2. Lancez l’éditeur de scripts Apple.
3. Dans l’éditeur de scripts, choisissez la commande Fichier> Ouvrir un dictionnaire. L’éditeur de scripts
affiche une liste des applications prenant en charge les scripts.
Prise en main Terminologie des scripts et modèle d’objet InCopy 22
4. Sélectionnez votre copie d’InCopy et cliquez surOK. L’éditeur de scripts affiche la liste des suites
(collections d’objets associés) d’InCopy:
5. Sélectionnez une suite pour consulter les objets et méthodes (commandes) qu’elle contient, puis
sélectionnez un objet pour connaître les propriétés qui lui sont associées.

Mesures et positionnement

Dans InCopy, tous les éléments et objets sont placés sur une page en fonction des mesures que vous spécifiez. Il est donc très utile de connaître le fonctionnement du système de coordonnées d’InCopy et les unités de mesure qu’il utilise.
Coordonnées
Comme tout autre programme de mise en page et de dessin, InCopy utilise une géométrie bidimensionnelle simple pour définir la position des objets sur une page ou une planche. La composante horizontale d’une paire de coordonnées est appeléex et sa composante verticale,y. Vous pouvez voir ces coordonnées dans le panneauTransformation ouContrôle lorsqu’un objet est sélectionné avec l’outilSélection. Comme dans l’interface utilisateur d’InCopy, les coordonnées sont mesurées par rapport à l’emplacement actuel de l’origine (pointzéro) de la règle.
Il existe une différence entre les coordonnées utilisées dansInCopy et le système de coordonnées géométrique traditionnel. Sur l’axe vertical (ouy) d’InCopy, les coordonnées au-dessous de l’origine sont des nombres positifs, et celles situées au-dessus, des nombres négatifs.
Prise en main Ajout de caractéristiques à «HelloWorld» 23
Unités de mesure
Pour envoyer des valeurs de mesure àInCopy, vous pouvez utiliser soit des nombres (14.65, par exemple), soit des chaînes de mesure («1p7.1», par exemple). Si vous envoyez des nombres, InCopy utilise les unités de mesure actives de la composition; si vous envoyez des chaînes de mesure (voir le tableau ci-dessous), InCopy utilise les unités de mesure spécifiées dans chaque chaîne.
InCopy renvoie les coordonnées et autres valeurs de mesure en utilisant les unités de mesure actives de la composition. Dans certains cas, ces unités ne sont pas représentées sous la même forme que les valeurs de mesure figurant dans le panneauTransformation d’InCopy. Si le système de mesure actif utilise les picas, par exemple, InCopy renvoie des valeurs fractionnaires sous forme de nombres décimaux, au lieu d’utiliser les conventions «picas et points» du panneauTransformation. Ainsi, «1p6» est renvoyé sous la forme «1.5». InCopy procède de cette manière, car le système de scripts ne peut pas exécuter d’opération arithmétique avec des chaînes de mesure. Par exemple, si vous additionnez «0p3.5» et «13p4», vous allez obtenir une erreur de script; en revanche, si vous additionnez 0,2916 et 13,333 (les mêmes mesures après leur conversion), le résultat sera correct.
Si votre script dépend de l’addition, la soustraction, la multiplication ou la division de valeurs de mesure spécifiques, il est préférable de définir les unités de mesure correspondantes au début du script. A la fin du script, vous pouvez rétablir les unités de mesure initialement utilisées avant l’exécution du script. Vous pouvez également utiliser des remplacements d’unités de mesures, comme dans beaucoup de nos exemples de scripts. Un remplacement d’unité de mesure est une chaîne contenant un caractère spécial, comme dans les exemples ci-dessous.
Remplacement Signification Exemple
c cicéros (lec peut être suivi de didots, si nécessaire) 1.4c
cm centimètres .635cm
i (or in) pouces .25i
mm millimètres 6.35mm
p picas (lep peut être suivi de points, si nécessaire) 1p6
pt points 18pt
Ajout de caractéristiques à «HelloWorld»
Nous allons maintenant créer un script qui modifie la composition «Hello World» créée avec notre premier script. Ce second script illustre les opérations suivantes:
X Obtention du document actif
X Changement de la mise en forme du texte dans son bloc
X Ajout d’une note
Ouvrez le script d’apprentissage ImprovedHelloWorld ou procédez comme suit pour créer le script:
1. Vérifiez que le document que vous avez créé précédemment est ouvert. Si vous avez fermé le document sans
l’enregistrer, il suffit de réexécuter le script
2. Dans l’éditeur de script, choisissez la commande Fichier> Nouveau pour créer un script.
HelloWorld.applescript
pour créer un nouveau document.
Prise en main Ajout de caractéristiques à «HelloWorld» 24
3. Entrez le code ci-dessous.
tell application "Adobe InCopy CS6"
--Get a reference to a font. try
--Enter the name of a font on your system, if necessary. set myFont to font "Arial"
end try
--Get the active document and assign the result to the variable "myDocument" set myDocument to document 1 tell story 1 of myDocument
--Change the font, size, and paragraph alignment. try
set applied font to myFont end try set point size to 72 set justification to center align
--Enter the note at the last insertion point of the story. tell insertion point -1
set myNote to make note
set contents of text 1 of myNote to "This is a note." end tell
end tell
end tell
4. Enregistrez le script.
Pour exécuter le nouveau script, cliquez deux fois sur son nom dans le panneauScripts.
3
Statut de mise à jour du chapitre
CS6 Modifié « Versionnage des scripts » à la page 26 et ses trois sous-sections ont été mises à jour, corrigées et clarifiées.

Fonctions de scripts

Ce chapitre décrit les techniques de scripts en relation avec l’environnement de scriptInCopy. La quasi-totalité des autres objets du modèle de scripts InCopy possèdent une fonction qui permet de modifier les valeurs par défaut d’un document ou de l’application. En revanche, les fonctions décrites dans ce chapitre commandent le fonctionnement des scripts.
Ce document aborde les thèmes suivants:
X Objet script preferences et ses propriétés
X Référence au script d’exécution
X Exécution des scripts dans les versions antérieures du modèle d’objet de script
X Méthode do script pour exécuter des scripts
X Exécution des scripts au lancement d’InCopy
Vous devez avoir préalablement lu le Chapitre 2, « Prise en main» et savoir créer, installer et exécuter les scriptsInCopy dans le langage de votre choix.

Préférences des scripts

L’o b j e t script preferences fournit les objets et les propriétés liés au mode d’exécution des scriptsInCopy. Le tableau suivant décrit plus en détail chaque propriété de l’objet script preferences:
Propriété Description
enable redraw Active ou désactive la réactualisation de l’écran pendant l’exécution d’un
scripts folder Chemin d’accès au dossier des scripts.
scripts list Liste des scripts disponibles. Cette propriété représente un ensemble
script dans le panneauScripts.
d’éléments (tableau de données) sous la forme suivante:
[[fileName, filePath], …]
fileName
d’accès complet au script. Vous pouvez utiliser cette fonction pour vérifier la présence d’un script dans l’ensemble des scripts installés.
correspond au nom du fichier de script et filePath au chemin
25
Fonctions de scripts Obtention du script en cours 26
Propriété Description
user interaction level Cette propriété contrôle les alertes et les boîtes de dialogue d’InCopy
présentées à l’utilisateur. Lorsque vous paramétrez cette propriété sur
interact, InCopy n’affiche pas d’alertes, ni de boîtes de dialogue;
définissez-la sur désactiver les boîtes de dialogue, etsur
interact with alerts pour activer les alertes mais
interact with all pour rétablir
never
l’affichage normal des alertes et des boîtes de dialogue. La possibilité de désactiver l’affichage des alertes est pratique lorsque vous ouvrez des documents à l’aide d’un script; souvent, InCopy affiche une alerte correspondant à des polices ou des fichiers graphiques liés qui sont manquants. Pour éviter cette alerte, définissez le niveau d’interaction utilisateur sur l’interaction utilisateur (en définissant la propriété sur
never interact avant d’ouvrir le document, puis rétablissez
interact with all)
avant d’exécuter le script.
version Version de l’environnement de création de scripts en cours d’utilisation
(pour plus de détails, voir la section«
Versionnage des scripts » à la
page 26). Notez que cette propriété diffère de la version de l’application.

Obtention du script en cours

Vous pouvez obtenir une référence au script en cours à l’aide de la propriété active script de l’objet d’application. Vous pouvez utiliser cette propriété pour rechercher les fichiers et les dossiers relatifs au script, comme l’illustre l’exemple suivant (dans le script d’apprentissage ActiveScript):
tell application "Adobe InCopy CS6"
set myScript to active script display dialog ("The current script is: " & myScript) tell application "Finder"
set myFile to file myScript
set myParentFolder to container of myFile end tell display dialog ("The folder containing the active script is: " & myParentFolder)
end tell
Lorsque vous déboguez des scripts à l’aide de l’éditeur de scripts, la propriété active script renvoie une erreur. Seuls les scripts exécutés depuis la panneauScripts figurent dans la propriété

Versionnage des scripts

InCopypeut exécuter des scripts utilisant des versions antérieures du modèle d’objet de scriptInCopy. Pour exécuter un ancien script dans une version plus récente d’InCopy, vous devez prendre en compte les points suivants:
X Ciblage: les scripts doivent cibler la version d’InCopy dans laquelle ils sont exécutés (c’est-à-dire, la
version en cours). La méthode de ciblage dépend du langage, comme indiqué dans la section
« Ciblage » à la page 27.
active script.
X Compilation: cette opération implique la mise en correspondance des noms dans le script avec lesID
de script sous-jacents qui sont interprétés par InCopy. La méthode de compilation dépend du langage, comme indiqué dans la section
« Compilation » à la page 27.
Fonctions de scripts Versionnage des scripts 27
X Interprétation: cette opération implique la mise en correspondance desID avec le gestionnaire de
demande approprié dans InCopy. Ainsi, InCopy interprète correctement un script créé pour une version antérieure du modèle d’objet de script. Pour cela, paramétrez explicitement les préférences de script de l’application sur l’ancien modèle d’objet dans le script (comme indiqué dans la section
« Interprétation » à la page 28) ou exécutez le script à partir d’un dossier du dossier du panneau Scripts
comme suit:
Dossier Version des scripts pour InCopy
Version 8.0 Scripts
Version 7.0 Scripts
Version 6.0 Scripts
Version 5.0 Scripts
Version 2.0 Scripts

Ciblage

Un script doit toujours cibler la version d’InCopy dans laquelle il est exécuté (c’est-à-dire, la version en cours), que ce soit de manière implicite ou explicite. Le ciblage est implicite lorsque le script est lancé depuis le panneauScripts.
Sinon, le ciblage explicite des scripts AppleScript est effectué à l’aide de l’instruction
--Target InCopy CS6 tell application "Adobe InCopy CS6"

Compilation

Généralement, les scripts AppleScript sont compilés à l’aide du dictionnaire de la version ciblée. Ce comportement peut être redéfini à l’aide de l’instruction par celui d’une autre version d’InCopy à des fins de compilation. Par exemple, pour utiliser un script CS5 (version 7.0) dans CS6 (version 8.0):
CS6
CS5 et CS5.5
CS4
CS3
CS2
tell:
using terms from qui remplace le dictionnaire
tell application "Adobe InCopy CS6" --target CS6
using terms from application "InCopy CS6" --compile using CS6
--InCopy CS6 version script goes here. end using terms from end tell
Pour que cela fonctionne, vous devez générer une version antérieure du dictionnaire AppleScript à l’aide de la commande
publish terminology, qui est appliquée à l’objet d’application. Le dictionnaire est
généré dans un dossier (nommé avec la version duDOM) qui se trouve dans le dossier
ScriptingSupport du dossier de préférences d’InCopy. Par exemple, pour générer le dictionnaire CS5
dans le dossier
InCopy/Version 8.0/<langue>/Scripting Support/7.0:
tell application "Adobe InCopy CS6"
--publish the InCopy CS6 dictionary (version 8.0 DOM) publish terminology version 8.0 end tell
/Utilisateurs/<nom d’utilisateur>/Bibliothèque/Préférences/Adobe
Fonctions de scripts Utilisation de la méthode do script 28

Interprétation

L’objet d’application InCopy comprend un objet script preferences, permettant à un script d’obtenir ou de définir la version du modèle d’objet de script à utiliser pour l’interprétation de scripts. La version par défaut est la version actuelle de lapplication et persiste.
Par exemple, pour modifier la version du modèle d’objet de script en CS5:
--Set to 7.0 scripting object model set version of script preferences to 7.0

Utilisation de la méthode do script

La méthode do script permet au script d’exécuter un autre script. Le script peut se présenter sous la forme d’une chaîne de codes valides ou d’un fichier sur disque. Le script peut adopter le même langage de script que le script courant ou un autre langage de script. Les langages disponibles varient d’une plate-forme à une autre: sous MacOS, vous pouvez exécuter un scriptAppleScript ouJavaScript; sous Windows, vous pouvez exécuter un scriptVBScript ouJavaScript.
La méthode
X Exécution d’un script dans un autre langage qui fournit une fonction manquante dans votre langage
do script présente plusieurs utilisations possibles:
de script principal. Par exemple, VBScript n’offre pas la possibilité d’afficher un explorateur de fichiers ou de dossiers, contrairement àJavaScript. AppleScript peut être très lent à calculer les fonctions trigonométriques (sinus et cosinus), mais JavaScript effectue ces calculs rapidement. JavaScript ne permet pas d’interroger Microsoft® Excel sur le contenu d’une cellule de feuille de calcul donnée,
AppleScript etVBScript proposent cette fonctionnalité. Dans tous ces exemples, la méthode do
mais
script peut exécuter un extrait de code de script dans un autre langage, pour contourner la
limitation du langage utilisé pour le corps du script.
X Création d’un script «à la volée». Votre script peut créer un script (sous la forme d’une chaîne) pendant
son exécution, qu’il peut ensuite exécuter à l’aide de la méthode pour créer une boîte de dialogue ou un panneau personnalisé en fonction du contenu de la sélection ou des attributs des objets que le scriptcrée.
X
Incorporation des scripts dans les objets. Les scripts peuvent utiliser la méthode do des scripts qui ont été enregistrés sous la forme de chaînes dans la propriété technique permet à un objet de contenir un script qui contrôle ses propriétés de mise en page ou qui met à jour son contenu en fonction de certains paramètres. Les scripts peuvent également être incorporés dans des élémentsXML sous la forme d’un attribut de l’élément ou du contenu d’un élément (voir la section
« Exécution des scripts au lancement » à la page 29).

Envoi de paramètres à l’objet do script

do script. C’est une méthode idéale
script
label
des objets. Cette
pour exécuter
Pour envoyer un paramètre à un script exécuté par l’objet do script, utilisez la forme suivante (dans le script d’apprentissage DoScriptParameters):
tell application "Adobe InCopy CS6"
--Create a list of parameters. set myParameters to {"Hello from do script", "Your message here."}
--Create a JavaScript as a string. set myJavaScript to "alert(\"First argument: \" + arguments[0] + \"\\rSecond
argument: \" + arguments[1])"
--Run the JavaScript using the do script command.
Fonctions de scripts Exécution des scripts au lancement 29
do script myJavaScript language javascript with arguments myParameters
--Create an AppleScript as a string. set myAppleScript to "tell application \"Adobe InCopy CS6\"" & return set myAppleScript to myAppleScript & "display dialog (\"First argument: \" & item 1
of arguments & return & \"Second argument: \" & item 2 of arguments)" & return
set myAppleScript to myAppleScript & "end tell"
--Run the AppleScript using the do script command. do script myAppleScript language applescript language with arguments myParameters
end tell

Renvoi des valeurs de l’objet do script

Pour renvoyer une valeur à partir d’un script exécuté par l’objet do script, vous pouvez utiliser l’objet
script args (abréviation de «script arguments») de l’application. L’extrait de script suivant explique
comment procéder (pour consulter le script complet, voir le script d’apprentissage DoScriptReturnValue):
tell application "Adobe InCopy CS6"
--Create a string to be run as an AppleScript. set myAppleScript to "tell application \"Adobe InCopy CS6\"" & return set myAppleScript to myAppleScript & "tell script args" & return set myAppleScript to myAppleScript & "set value name \"ScriptArgumentA\" value
\"This is the first AppleScript script argument value.\"" & return
set myAppleScript to myAppleScript & "set value name \"ScriptArgumentB\" value
\"This is the second AppleScript script argument value.\"" & return
set myAppleScript to myAppleScript & "end tell" & return set myAppleScript to myAppleScript & "end tell"
--Run the AppleScript string. do script myAppleScript language applescript language
--Retrieve the script argument values set by the script. tell script args
set myScriptArgumentA to get value name "ScriptArgumentA" set myScriptArgumentB to get value name "ScriptArgumentB"
end tell
--Display the script argument values in a dialog box. display dialog "ScriptArgumentA: " & myScriptArgumentA & return & "ScriptArgumentB:
" & myScriptArgumentB
--Create a string to be run as a JavaScript. set myJavaScript to "app.scriptArgs.setValue(\"ScriptArgumentA\", \"This is the
first JavaScript script argument value.\");" & return
set myJavaScript to myJavaScript & "app.scriptArgs.setValue(\"ScriptArgumentB\",
\"This is the second JavaScript script argument value.\");" & return
--Run the JavaScript string. do script myJavaScript language javascript
--Retrieve the script argument values set by the script. tell script args
set myScriptArgumentA to get value name "ScriptArgumentA" set myScriptArgumentB to get value name "ScriptArgumentB"
end tell
--Display the script argument values in a dialog box.
display dialog "ScriptArgumentA: " & myScriptArgumentA & return & "ScriptArgumentB: " & myScriptArgumentB end tell

Exécution des scripts au lancement

Pour exécuter un script au lancement d’InCopy, placez le script dans le dossier StartupScripts du dossierScripts (pour plus de détails, voir la section «
Installation des scripts » à la page 12).
4
Statut de mise à jour du chapitre
CS6 Inchangé

Tex te et sa is ie

La saisie, l’édition et la mise en forme d’un texte représentent la majeure partie du temps consacré à la plupart des documentsInCopy. Ainsi, l’automatisation des opérations sur le texte, notamment la saisie, peut représenter des gains de productivité importants.
Ce didacticiel décrit comment automatiser avec des scripts les opérations les plus courantes appliquées au texte et à la saisie. Les exemples de scripts de ce chapitre sont présentés par ordre de complexité, en commençant par des scripts très simples et en progressant vers des opérations plus complexes.
Vous devez avoir préalablement lu le Chapitre 2, « script. Vous devez également savoir manipuler le texte dansInCopy et connaître la terminologie de base du domaine de la composition.

Saisie et importation de texte

Cette section décrit le processus d’insertion d’un texte dans les documentsInCopy. Tout comme vous pouvez saisir du texte dans des blocs de texte et importer des fichiers texte au moyen de l’interface utilisateurInCopy, vous pouvez créer des blocs de texte, insérer du texte dans un article ou importer des fichiers texte à l’aide de scripts.

Articles et blocs de texte

Tout le texte d’une mise en page InCopy fait partie d’un article, et chaque article peut contenir un ou plusieurs blocs de texte. Si vous utilisez un document InCopy autonome, celui-ci contient un article, et InCopy ajoute des blocs de texte uniquement si cela se révèle nécessaire pour afficher le texte de l’article. Cela est valable également pour les articles exportés d’InDesign sous la forme d’articlesInCopy (fichiers
Lorsque vous utilisez un articleInCopy dans un document InDesign, le document peut contenir un nombre quelconque d’articles, et les blocs de texte s’affichent comme s’ils avaient été créés dans la mise en pageInDesign. Contrairement à InDesign, InCopy ne peut pas ajouter de nouveaux blocs de texte à l’aide des scripts.
.icml).
Prise en main» et savoir créer, installer et exécuter un
Pour plus de détails sur les relations entre les objets texte dans un documentInCopy, voir la section
Objets texte » à la page 39.
«
30
Loading...
+ 83 hidden pages