ADOBE Illustrator CS6, Illustrator CS5, Illustrator CC 2013 Guide des scripts [fr]

Page 1
ADOBE® ILLUSTRATOR® CS5
GUIDE DES SCRIPTS POUR ADOBE
ILLUSTRATOR CS5
Page 2
© 2010 Adobe Systems Incorporated. All rights reserved.
Guide des scripts pour Adobe Illustrator CS5
Si le présent guide est fourni avec un logiciel régi par un contrat d’utilisateur final, le guide, ainsi que le logiciel décrit, sont fournis sous licence et peuvent être utilisés ou copiés uniquement selon les clauses et conditions de la licence. A moins d’une autorisation expresse accordée par cette licence, aucune partie de ce guide ne peut être reproduite, stockée dans un système d’interrogation ou transmise, sous quelque forme ou par quelque moyen que ce soit (électronique, mécanique, enregistrement ou autre) sans l’autorisation écrite préalable d’Adobe Systems Incorporated. Veuillez noter que le contenu du présent guide est protégé par la loi sur les droits d’auteur, même s’il n’est pas distribué avec un logiciel régi par un contrat de licence utilisateur.
Les informations contenues dans ce guide sont fournies à titre purement informatif; elles sont susceptibles d’être modifiées sans préavis et ne doivent pas être interprétées comme étant un engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated n’accepte aucune responsabilité quant aux erreurs ou inexactitudes pouvant être contenues dans le présent guide.
Veuillez noter que les illustrations ou images existantes que vous souhaiterez éventuellement inclure dans votre projet sont susceptibles d’être protégées par les lois sur les droits d’auteur. L’inclusion non autorisée de tels éléments dans vos nouveaux travaux peut constituer une violation des droits du propriétaire. Veuillez vous assurer de détenir toute autorisation nécessaire auprès du détenteur des droits.
Toute référence à des noms de sociétés dans des modèles types n’est utilisée qu’à titre d’exemple et ne fait référence à aucune société réelle.
Adobe, the Adobe logo, Illustrator, Photoshop, and InDesign are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Apple, Mac, Macintosh, and Mac OS are trademarks of Apple Computer, Incorporated, registered in the United States and other countries. JavaScript and all Java-related marks are trademarks or registered trademarks of Sun Microsystems, Incorporated in the United States and other countries. UNIX is a registered trademark of The Open Group.
All other trademarks are the property of their respective owners.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through
227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.
Page 3
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Qu’est-ce qu’un script? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Pourquoi utiliser les scripts? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Qu’est-ce qu’une action? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Prise en charge du langage de script dans AdobeIllustratorCS5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Extensions de scripts de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Options de développement JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Affichage des exemples de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Affichage du modèle d’objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Affichage du modèle d’objet JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Affichage du modèle d’objet AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Affichage du modèle d’objet VBScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Exécution de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Installation de scripts dans le menu Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Exécution de scripts à partir de l’élément de menu Autre script . . . . . . . . . . . . . . . . . . . . . . . 11
Scripts de démarrage (scripts .jsx uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Changements survenus dans la versionCS5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Origine de la règle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Enumération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Classe de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Problèmes connus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Modèle d’objet de script Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Conventions d’attribution de nom pour les objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Objets de niveau supérieur (objets conteneurs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Calque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Hiérarchie des illustrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Styles d’illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Coloration d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Objets texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Blocs de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Objets représentant le contenu de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Styles de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Objets dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3
Page 4
Sommaire 4
3 Scripts Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Lancement et fermeture d’Illustrator à partir d’un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Lancement et activation d’Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Fermeture d’Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Utilisation d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Obtention du document ou du calque situé au premier plan . . . . . . . . . . . . . . . . . . . . . . . . . 27
Création d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Objets de collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Objets sélectionnés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Remarques sur le changement de nom d’objets stockés dans les panneaux
de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Unités de mesure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Unités em . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Positionnement et dimensions d’un élément de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Limites des éléments d’illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Tracés et formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Niveaux d’interaction de l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Impression de documents Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 Création de scripts à l’aide d’AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Pour plus d’informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Votre premier script Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Ajout de caractéristiques à «HelloWorld» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Référencement d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Obtention d’objets de documents et calques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Création d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Utilisation de sélections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Utilisation de blocs de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Blocs liés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Création de tracés et de formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Tracés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Utilisation de la grille de perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Utilisation des paramètres de perspective prédéfinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Affichage ou masquage de la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Définition du plan actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Réalisation d’un dessin sur une grille de perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Mise en perspective d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Création de scripts à l’aide deJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Pour plus d’informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Votre premier script Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Ajout de caractéristiques à «HelloWorld» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Utilisation de méthodes dans JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Page 5
Sommaire 5
Accès et référencement d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Référencement de l’objet application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Accès aux objets de collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Création d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Utilisation de sélections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Utilisation de blocs de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Blocs liés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Création de tracés et de formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Tracés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Utilisation de la grille de perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Utilisation des paramètres de perspective prédéfinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Affichage ou masquage de la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Définition du plan actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Réalisation d’un dessin sur une grille de perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Mise en perspective d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6 Création de scripts à l’aide deVBScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Pour plus d’informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Votre premier script Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Ajout de caractéristiques à «HelloWorld» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Accès et référencement d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Obtention d’objets de collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Création d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Utilisation de sélections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Utilisation de blocs de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Blocs liés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Création de tracés et de formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Tracés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Utilisation de valeurs d’énumération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Utilisation de la grille de perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Utilisation des paramètres de perspective prédéfinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Affichage ou masquage de la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Définition du plan actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Réalisation d’un dessin sur une grille de perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Mise en perspective d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Page 6
1

Introduction

Ce guide décrit l’interface de script pour Adobe® Illustrator®CS5.
Si vous êtes novice en matière de scripts ou que vous souhaitez obtenir des informations sur la manière d’utiliser les différents langages de script, reportez-vous au document Introduction aux scripts Adobe.
Qu’est-ce qu’un script?
Un script est une série de commandes demandant à Illustrator d’exécuter une ou plusieurs opérations. Ces opérations peuvent être simples et n’affecter qu’un objet du document actuel, ou complexes et affecter des objets dans tous vos documents Illustrator. Ces opérations peuvent aussi impliquer d’autres applications, telles que des programmes de traitement de texte, des tableurs ou des logiciels de gestion de base de données.
La plupart des blocs de construction du script correspondent aux outils Illustrator, aux menus, aux panneaux et aux boîtes de dialogue pour lesquels vous possédez une expertise. Si vous savez ce que vous souhaitez exécuter par le biais d’Illustrator, vous pouvez écrire un script à cet effet.
Pourquoi utiliser les scripts?
La conception graphique est un domaine où la créativité est reine, mais certains aspects de la conception ne sont pas du tout créatifs. Vous aurez sans doute remarqué que le positionnement et le repositionnement d’images, la rectification d’erreurs dans le texte et la préparation des fichiers pour impression chez un fournisseur de services de réglage d’image empiètent largement sur le temps dont vous disposez pour le travail créatif à proprement parler.
Si vous investissez un peu de temps et d’efforts, vous pouvez apprendre à écrire des scripts courts et simples qui effectuent les opérations répétitives à votre place. Au fur et à mesure du développement de vos compétences, vous pourrez écrire des scripts de plus en plus complexes.
Les scripts peuvent également améliorer votre créativité en effectuant rapidement des opérations que vous pourriez ne pas avoir le temps de tester. Par exemple, vous pouvez écrire un script pour créer systématiquement une série d’objets, en modifiant les propriétés de position, contour et fond de nouveaux objets à un moment donné. Vous pouvez également écrire un script qui accède aux fonctions de matrice de transformation intégrée afin d’étirer, de mettre à l’échelle et de distordre une série d’objets. Sans script, vous perdriez certainement une partie du potentiel créatif de telles techniques qui requièrent une masse importante de travail.
Qu’est-ce qu’une action?
Les actions et les scripts sont deux manières d’automatiser des opérations répétitives, mais elles fonctionnent de deux façons différentes:
X Les actions utilisent une interface utilisateur de programme. Lors de l’exécution d’une action, les choix
de menus sont exécutés, les objets sont sélectionnés et les tracés enregistrés sont créés. Les scripts n’utilisent pas d’interface utilisateur de programmes pour effectuer les opérations et peuvent s’exécuter plus rapidement que les actions.
X Les actions possèdent des fonctionnalités très limitées pour obtenir des informations et y répondre. Vous
ne pouvez pas ajouter de logique conditionnelle à une action. Par conséquent, les actions ne peuvent pas prendre de décisions reposant sur la situation actuelle, telles que le changement de type de contour des rectangles mais pas des ellipses. Les scripts sont capables d’obtenir des informations, de prendre des décisions et d’effectuer des calculs reposant sur les informations qu’ils reçoivent d’Illustrator.
X Un script peut exécuter une action, mais les actions ne peuvent pas exécuter de scripts.
6
Page 7
CHAPITRE 1 : Introduction Prise en charge du langage de script dans AdobeIllustratorCS5 7
Prise en charge du langage de script dans AdobeIllustratorCS5
Les scripts d’Illustrator prennent en charge les scripts VBScript et JavaScript pour Windows, et les scripts AppleScript et JavaScript pour MacOS.

Extensions de scripts de fichiers

Pour qu’un fichier soit reconnu par AdobeIllustratorCS5 en tant que fichier de script valide, il doit posséder un nom d’extension de fichier correct:
Type de script Type de fichier (extension) Plates-formes
AppleScript fichier OSAS (
de script compilé (sans extension)
JavaScript ou ExtendScript texte (
VBScript texte (
.js ou .jsx) Windows
.vbs)Windows
.scpt)

Options de développement JavaScript

Vous pouvez utiliser l’utilitaire d’écriture de scripts ExtendScript Toolkit pour créer des scripts JavaScript spécialement conçus pour Illustrator. Vous pouvez aussi utiliser Creative Suite Extension Builder (CS Extension Builder) pour développer des extensionsCS en ActionScript. Les extensionsCS sont basées sur le format Flash(SWF) et sont potentiellement compatibles avec toute une gamme d’applications CreativeSuite.
Développement d’une extensionCS5 en ActionScript
Dans Creative Suite5, les applications disposent d’une infrastructure d’extensibilité qui permet aux développeurs d’étendre les capacités des applications. Cette infrastructure repose sur la technologie Flash/Flex et chaque extensionCS5 se présente sous la forme d’un fichier Flash(SWF) compilé. Creative Suite5 inclut le gestionnaire d’extensions afin d’activer l’installation d’extensionsCS5.
Adobe Kuler est un exemple d’extensionCS5 fourni avec les produits ciblés. Kuler dispose d’une interface utilisateur cohérente à travers l’ensemble des applications de la suite, mais chaque application hôte utilise sa propre logique, spécifiquement adaptée.
MacOS
MacOS
L’interface utilisateur d’une extension est écrite en ActionScript, à l’aide de l’infrastructure Flex. En général, pour accéder à une extensionCS5, vous pouvez passer par son propre élément dans le menu Extensions de l’application. CS Extension Builder permet de concevoir l’interface utilisateur de façon interactive à l’aide de la vue de conception de FlashBuilder. CS Extension Builder permet également de développer toute la logique de l’application pour l’extensionCS5 en ActionScript. Vous pouvez développer et déboguer l’extension dans l’environnement familier de FlashBuilder.
Pour développer la logique de l’application, il est conseillé d’utiliser la bibliothèque Creative Suite ActionScript Wrapper Library ( chaque application hôte sous la forme d’une bibliothèque ActionScript. Ceci est étroitement intégré à l’environnement CS Extension Builder, qui inclut des assistants afin de vous aider à créer la structure de base de l’extension, puis à exécuter et à déboguer le code des applications de la suite, telles qu’Adobe InDesign, Photoshop et Illustrator.
CSAWLib), qui expose le modèle d’objets de document (DOM) du script pour
Page 8
CHAPITRE 1 : Introduction Affichage des exemples de scripts 8
Les méthodes, les propriétés et le comportement du modèle d’objets de document du script sont tels que le décrit la référence de scripts JavaScript pour l’application hôte. Pour plus d’informations sur l’utilisation de CS Extension Builder et des bibliothèques de wrappers, consultez la documentation du kit de développement logiciel CreativeSuite, accessible depuis le système d’aide de FlashBuilder ou d’Eclipse lorsque vous avez installé CS Extension Builder.
Fonctions ExtendScript
Si vous rédigez des scripts spécifiques à Illustrator qui utilisent directement le modèle d’objets de document JavaScript Illustrator, vous créez des fichiers ExtendScript qui se distinguent par l’extension standard
ExtendScript propose toutes les fonctions JavaScript standard, ainsi qu’un environnement de développement et de débogage, l’utilitaire d’écriture de scripts ExtendScript Toolkit (ESTK). ESTK est installé avec toutes les applications Adobe capables de prendre en charge les scripts; il s’agit de l’éditeur par défaut pour les fichiersJSX. ESTK comprend un afficheur de modèle d’objet qui contient une documentation complète concernant les méthodes et propriétés des objets JavaScript. Pour plus de détails sur l’accès à ESTK et à l’afficheur de modèle d’objet, reportez-vous à la section «
modèle d’objet JavaScript », page 9.
.jsx. En attribuant une extension.jsx aux fichiers JavaScript (au lieu de l’extension
.js), vous pouvez tirer parti des fonctions et des outils ExtendScript.
Affichage du
ExtendScript offre également divers outils et utilitaires tels que:
X un utilitaire de localisation;
X des outils qui vous permettent de combiner les scripts et de les diriger vers des applications spécifiques;
X une représentation de fichiers et de dossiers indépendante des plates-formes;
X des outils pour construire des interfaces utilisateur dans vos scripts;
X un cadre de messagerie électronique qui vous permet d’envoyer et de recevoir des scripts et des
données dans les applications Adobe adaptées aux scripts.
Toutes ces fonctions sont disponibles, que vous utilisiez le modèle d’objets de document directement avec un fichierJSX ou indirectement via la bibliothèque de wrappers ActionScript et CS Extension Builder. Pour plus de détails sur ces fonctions et sur d’autres fonctions, reportez-vous au Guide des outils JavaScript.

Affichage des exemples de scripts

Adobe fournit des exemples de scripts pour de nombreux objets, propriétés et méthodes dans le modèle d’objets de document IllustratorCS5. Vous pouvez consulter des exemples de scripts à deux emplacements:
X Dans le dossier /Scripting/SampleScripts du répertoire d’installation d’IllustratorCS5
X Dans le document de référence de scripts d’AdobeIllustratorCS5 pour votre langage de script, que
vous pouvez télécharger depuis le site http://www.adobe.com/devnet/illustrator/scripting/

Affichage du modèle d’objet

Les langages de script pris en charge fournissent chacun une fonction permettant d’afficher les objets de script définis par Illustrator avec des détails de référence.
Page 9
CHAPITRE 1 : Introduction Affichage du modèle d’objet 9

Affichage du modèle d’objet JavaScript

Pour afficher le modèle d’objet JavaScript dans Illustrator, procédez comme suit:
1. Démarrez l’utilitaire d’écriture de scripts ESTK.
Dans une installation Adobe par défaut, ESTK se trouve à l’emplacement suivant:
Z Windows:
system drive\Program Files\Adobe\Adobe Utilities CS5\ExtendScript Toolkit CS5
Z MacOS:
system drive:Applications:Utilities:Adobe Utilities CS5:ExtendScript Toolkit CS5
2. Dans ESTK, choisissez la commande Aide> Outil de visualisation d’Object Model.
3. Dans la fenêtre Outil de visualisation d’Object Model, sélectionnez Adobe IllustratorCS5 Type Library dans la liste déroulante Navigateur.
Vous trouverez plusieurs exemples de scripts étendus dans le dossier répertoire d’installation d’IllustratorCS5.
Vous pouvez également consulter des exemples de scripts et des informations concernant les classes, les objets, les propriétés, les méthodes et les paramètres individuels dans le guide Adobe IllustratorCS5 Scripting Reference: JavaScript (Référence de script AdobeIllustratorCS5: JavaScript) que vous pouvez télécharger depuis le site http://www.adobe.com/devnet/illustrator/scripting/

Affichage du modèle d’objet AppleScript

Apple fournit l’application Editeur de scripts avec tous les systèmes MacOS. Vous pouvez utiliser l’application Editeur de scripts pour consulter le dictionnaire AppleScript qui décrit les divers objets et commandes d’Illustrator.
Pour plus de détails sur l’utilisation de l’Editeur de scripts, reportez-vous à l’aide de l’Editeur de scripts.
1. Lancez l’application Editeur de scripts.
R
EMARQUE : dans une installation MacOS par défaut, l’application Editeur de scripts se trouve dans le
dossier scripts, vous devez la réinstaller à partir du CD du système MacOS.
2. Choisissez la commande Fichier> Ouvrir un dictionnaire. Une boîte de dialogue Ouvrir un dictionnaire s’affiche dans l’application Editeur de scripts.
3. Dans cette boîte de dialogue, recherchez l’application AdobeIllustratorCS5, puis sélectionnez-la et cliquez sur le bouton Ouvrir.
Applications:AppleScript:ScriptEditor. Si vous ne trouvez pas l’application Editeur de
/Scripting/SampleScripts du
.
La liste des objets et commandes Illustrator, qui inclut les propriétés et éléments associés à chacun des objets et les paramètres pour chaque commande, s’affiche dans l’application Editeur de scripts.
Vous trouverez plusieurs exemples de scripts étendus dans le dossier
:Scripting:SampleScripts du
répertoire d’installation d’IllustratorCS5.
Vous pouvez également consulter des exemples de scripts et des informations concernant les classes, les objets, les propriétés, les méthodes et les paramètres individuels dans le guide Adobe IllustratorCS5 Scripting Reference: AppleScript (Référence de script AdobeIllustratorCS5: JavaScript) que vous pouvez télécharger depuis le site http://www.adobe.com/devnet/illustrator/scripting/
.
Page 10
CHAPITRE 1 : Introduction Exécution de scripts 10

Affichage du modèle d’objet VBScript

VBScript fournit une bibliothèque type que vous pouvez utiliser pour consulter les propriétés et méthodes des objets Illustrator. Cette procédure explique comment consulter la bibliothèque type à partir de n’importe quel programme Microsoft Office. Votre éditeur VBScript possède certainement un accès à la bibliothèque. Pour plus d’informations, reportez-vous à l’aide de votre éditeur.
1. A partir de toute application Microsoft Office, choisissez la commande Outils> Macro> Visual Basic Editor.
2. Dans Visual Basic Editor, choisissez la commande Outils> Références.
3. Dans la boîte de dialogue qui s’affiche, cochez la case correspondant à la bibliothèque Adobe IllustratorCS5 Type Library, puis cliquez sur le boutonOK.
4. Choisissez la commande Affichage> Explorateur d’objets pour afficher la fenêtre Explorateur d’objets.
5. Choisissez l’option Illustrator dans la liste de bibliothèques ouvertes du menu déroulant situé en haut à gauche de la fenêtre Explorateur d’objets.
Vous trouverez plusieurs exemples de scripts étendus dans le dossier répertoire d’installation d’IllustratorCS5.
Vous pouvez également consulter des exemples de scripts et des informations concernant les classes, les objets, les propriétés, les méthodes et les paramètres individuels dans le guide Adobe IllustratorCS5 Scripting Reference: VBScript (Référence de script AdobeIllustratorCS5: VBScript) que vous pouvez télécharger depuis le site http://www.adobe.com/devnet/illustrator/scripting/

Exécution de scripts

L’interface Illustrator comprend un menu Scripts (Fichier> Scripts) qui fournit un accès facile et rapide à vos scripts.
Les scripts peuvent être directement répertoriés en tant qu’éléments de menu qui s’exécutent lorsque vous les sélectionnez. (Reportez-vous à la section «
Vous pouvez également naviguer vers n’importe quel script de votre système de fichiers à partir du menu, puis exécuter le script. (Reportez-vous à la section «
page 11).
Vous pouvez également choisir des scripts JavaScript avec une extension.jsx qui démarrent automatiquement lorsque vous lancez l’application. Pour plus de détails, reportez-vous à la section
Scripts de démarrage (scripts .jsx uniquement) », page 11.
«
/Scripting/SampleScripts du
.
Installation de scripts dans le menu Scripts », page 10).
Exécution de scripts à partir de l’élément de menu Autre script »,

Installation de scripts dans le menu Scripts

Pour inclure un script dans le menu Scripts (Fichier> Scripts), enregistrez-le dans le dossier Scripts qui se situe dans le dossier Le nom de fichier du script, sans l’extension du fichier, apparaît dans le menu Scripts.
Les scripts que vous ajoutez au dossier Scripts lorsqu’Illustrator est en cours d’exécution apparaîtront dans le menu Scripts au prochain lancement d’Illustrator.
Vous pouvez installer un nombre illimité de scripts dans le menu Scripts. Si vous possédez un grand nombre de scripts, utilisez des sous-dossiers dans le dossier Scripts pour mieux organiser les scripts du menu Scripts. Chaque sous-dossier apparaît en tant que sous-menu séparé comportant les scripts de ce sous-dossier.
/Illustrator CS5/Presets de votre répertoire d’installation d’IllustratorCS5.
Page 11
CHAPITRE 1 : Introduction Exécution de scripts 11

Exécution de scripts à partir de l’élément de menu Autre script

L’élément Autre script figurant au bas du menu Scripts (Fichier> Scripts> Autre script) vous permet d’exécuter des scripts qui ne sont pas installés dans le dossier Scripts.
Lorsque vous sélectionnez l’option Autre script, la boîte de dialogue Ouvrir s’affiche: utilisez-la pour accéder à un fichier de script. Lorsque vous sélectionnez le fichier, le script s’exécute.
Seuls les fichiers dont les types sont pris en charge apparaissent dans cette boîte de dialogue. Pour plus de détails, reportez-vous à la section «
Prise en charge du langage de script dans AdobeIllustratorCS5 », page 7.

Scripts de démarrage (scripts .jsx uniquement)

Vous pouvez installer les scripts JavaScript possédant une extension de fichier.jsx dans un ou deux dossiers afin qu’ils s’exécutent automatiquement lorsque vous lancez Illustrator ou à chaque exécution de script. Ces dossiers sont les suivants:
X
un dossier de scripts de démarrage spécifique à l’application, qui contient des scripts pour IllustratorCS5;
X un dossier de scripts de démarrage général, qui contient des scripts s’exécutant automatiquement
lorsque vous lancez une application Creative Suite5.
Dossier de scripts de démarrage spécifique à l’application
Vous devez placer les scripts de démarrage spécifiques à l’application dans un dossier appelé
StartupScripts, que vous créez dans le répertoire d’installation d’Illustrator.
Par exemple, lorsqu’IllustratorCS5 est installé dans son emplacement par défaut, vous créez le dossier
StartupScripts aux emplacements suivants:
X Windows: C:\Program Files\Adobe\Adobe Illustrator CS5\Startup Scripts\
X MacOS: /Applications/Adobe Illustrator CS5/Startup Scripts/
Les scripts JavaScript qui possèdent une extension
StartupScripts s’exécutent automatiquement lorsque:
X l’application est lancée;
X tout fichier JavaScript est sélectionné à partir du menu Scripts (Fichier> Scripts).
.jsx et qui sont placés dans le dossier
Dossier de scripts de démarrage général
Le dossier de scripts de démarrage général comporte des scripts qui s’exécutent automatiquement lorsque vous lancez une application Creative Suite5. Vous créez le dossier aux emplacements suivants:
X Windows: Program Files/Common Files/Adobe/Startup Scripts CS5/Illustrator
X MacOS: :Library:Application Support:Adobe:Startup Scripts CS5:Illustrator
Si un script du dossier de démarrage général doit être exécuté uniquement par Illustrator, ce script doit inclure la directive ExtendScript
if( BridgeTalk.appName == "illustrator" ) {
//continue executing script
}
#target (#target illustrator) ou le code suivant:
Pour plus de détails, reportez-vous au Guide des outils JavaScript.
Page 12
CHAPITRE 1 : Introduction Changements survenus dans la versionCS5 12
Changements survenus dans la versionCS5
Cette section énumère les changements apportés au modèle d’objet de script pour prendre en charge les fonctions d’IllustratorCS5.

Origine de la règle

Dans les versions précédentes, l’origine du plan de travail, la position avec coordonnées (0,0), se trouvait dans l’angle inférieur gauche. Les incréments positifsX allaient de gauche à droite, tandis que les incréments positifsY allaient de bas en haut.
Dans IllustratorCS5, l’origine du plan de travail est définie de façon à être dans l’angle supérieur gauche. Les incréments positifsX vont toujours de gauche à droite, mais les incréments positifsY vont désormais de haut en bas.
Pour afficher les règles, choisissez Affichage> Règles> Afficher les règles. Utilisez le panneau Infos (Fenêtres> Infos) pour vérifier les coordonnéesX/Y d’une position.
Pour éviter d’endommager des scripts existants, le script Illustrator utilise encore le système de coordonnées hérité. Autrement dit, tous les documents créés à l’aide de scripts utilisent le système de coordonnées hérité. Les documents que vous créez directement dans l’interface utilisateur utilisent le nouveau système de coordonnées. Si le script fonctionne sur un document de ce type, pour que son comportement soit le même que dansCS4, il doit convertir la valeur de la coordonnéeY d’une position en-Y, et inversement lorsqu’il interprète les valeurs des coordonnées du document.

Enumération

X Nouvelle énumération pour le système de coordonnées utilisé par Illustrator:
Z AppleScript: artboard coordinate system/document coordinate system
JavaScript: CoordinateSystem
Z
VBScript: AiCoordinateSystem
Z
X Nouvelle énumération pour les points d’enregistrement des symboles:
Z AppleScript — N/A
Z JavaScript: SymbolRegistrationPoint
Z VBScript: AiSymbolRegistrationPoint
Page 13
CHAPITRE 1 : Introduction Changements survenus dans la versionCS5 13
X
Nouvelle énumération pour le type de plan de la grille de perspective:
Z AppleScript: floorplane/leftplane/noplane/rightplane
Z JavaScript: PerspectiveGridPlaneType
Z VBScript: AiPerspectiveGridPlaneType
X Nouvelle énumération pour le type de lissage de texte:
Z AppleScript: crisp/none/sharp/strong
Z JavaScript: TextAntiAlias
Z VBScript: AiTextAntialias
X Nouvelle énumération pour l’orientation de l’impression des illustrations:
Z AppleScript: auto rotate
JavaScript: PrintOrientation.AUTOROTATE
Z
Z VBScript: AiAutoRotate
X Nouvelle valeur d’énumération pour la version du format de fichierFXG:
Z AppleScript: version 2.0
X Nouvelle valeur d’énumération pour la règle de préservation du texte par le format de fichierFXG:

Classe

X Nouvelle propriété pour le système de coordonnées dans la classe Application:
X Nouvelles propriétés dans la classe Artboard pour définir l’origine de la règle, par rapport à (0,0) dans
Z
JavaScript: FXGVersion.VERSION2PT0
Z VBScript: AiVersion2Pt0
Z AppleScript: autoConvert text
Z
JavaScript: TextPreservePolicy.AUTOMATICALLYCONVERTTEXT
Z VBScript: AiAutomaticallyConvertText
Z AppleScript: coordinate system
Z JavaScript: coordinateSystem
Z VBScript: CoordinateSystem
l’angle supérieur gauche, et pour le nom du plan de travail:
Z AppleScript
ruler origin of artboard 1 of document 1 name of artboard 1 of document 1
JavaScript
Z
activeDocument.artboards[0].rulerOrigin activeDocument.artboards[0].name
Z VBScript
ActiveDocument.Artboards[1].RulerOrigin ActiveDocument.Artboards[1].Name
Page 14
CHAPITRE 1 : Introduction Changements survenus dans la versionCS5 14
X
Nouvelle méthode/commande dans la classe Document pour travailler avec différents systèmes de coordonnées:
Z AppleScript: convert coordinate
Z JavaScript: app.activeDocument.convertCoordinate()
Z VBScript: App.ActiveDocument.ConvertCoordinate()
X Nouvelles méthodes/commandes dans la classe Document pour travailler avec plusieurs plans de
travail:
Z AppleScript
select objects on active artboard fit artboard to selected art rearrange artboards
JavaScript
Z
activeDocument.selectObjectsOnActiveArtboard() activeDocument.fitArtboardToSelectedArt() activeDocument.rearrangeArtboards()
VBScript
Z
ActiveDocument.SelectObjectsOnActiveArtboard() ActiveDocument.FitArtboardToSelectedArt() ActiveDocument.RearrangeArtboards()
Nouvelles méthodes/commandes dans la classe Document pour travailler avec des grilles de
X
perspective:
Z AppleScript
import perspective grid preset export perspective grid preset select perspective preset show perspective grid hide perspective grid get perspective active plane set perspective active plane
JavaScript
Z
app.activeDocument.importPerspectiveGridPreset() app.activeDocument.exportPerspectiveGridPreset() app.activeDocument.selectPerspectiveGrid() app.activeDocument.showPerspectiveGrid() app.activeDocument.hidePerspectiveGrid() app.activeDocument.getPerspectiveActivePlane() app.activeDocument.setPerspectiveActivePlane()
Page 15
CHAPITRE 1 : Introduction Changements survenus dans la versionCS5 15
Z
VBScript
App.ActiveDocument.ImportPerspectiveGridPreset() App.ActiveDocument.ExportPerspectiveGridPreset() App.ActiveDocument.SelectPerspectiveGrid() App.ActiveDocument.ShowPerspectiveGrid() App.ActiveDocument.HidePerspectiveGrid() App.ActiveDocument.GetPerspectiveActivePlane() App.ActiveDocument.SetPerspectiveActivePlane()
Nouvelle méthode dans la classe PageItem pour travailler avec des grilles de perspective:
X
Z AppleScript: bring in perspective
Z JavaScript: bringInPerspective()
Z VBScript: BringInPerspective()
X Nouvelle propriété dans la classe PageItem pour l’alignement des pixels:
Z AppleScript: pixel aligned
Z
JavaScript: pixelAligned
VBScript: PixelAligned
Z
X Nouvel argument de création facultatif pour la méthode Add de la collection Symbols qui permet de
définir le point d’enregistrement des nouveaux symboles:
X Nouvelle propriété dans la classe TextFrameItem pour le type de lissage de texte:
Z AppleScript: antialias
Z
JavaScript: antialias
VBScript: Antialias
Z

Classe de données

X La classe PrintFLOptions s’appelle désormais PrintFlattenerOptions en JavaScript et VBScript.
En AppleScript,
X Changements apportés aux propriétés de la classe FXGSaveOptions:
Z AppleScript
Ajoutée: Supprimée: clip content Paramètres par défaut modifiés:
blends policy
version: version1.0 remplacée par version2.0 text policy gradients policy
RegistrationPoint.
flattening options reste inchangé.
: keep text editable remplacée par autoConvert text
: keep gradients editable remplacée par autoConvert gradients
JavaScript
Z
Ajoutée:
blendsPolicy
Supprimée: clipContent Paramètres par défaut modifiés:
Page 16
CHAPITRE 1 : Introduction Problèmes connus 16
Z
version textPolicy gradientsPolicy
VBScript
Ajoutée:
: FXGVersion.VERSION1PT0 remplacée par FXGVersion.VERSION2PT0
: textPolicy.KEEPTEXTEDITABLE remplacée par AUTOMATICALLYCONVERTTEXT
: gradientsPolicy.KEEPGRADIENTSEDITABLE remplacée par
AUTOMATICALLYCONVERTGRADIENTS
BlendsPolicy
Supprimée: ClipContent Paramètres par défaut modifiés:
Version: FXGVersion.VERSION1PT0 remplacée parFXGVersion.VERSION2PT0 TextPolicy GradientsPolicy
aiAutomaticallyConvertGradients
X
Nouvelles propriétés dans la classe de données OpenOptions pour travailler avec les plans de travail:
Z AppleScript
convert crop area to artboard convert tiles to artboard create artboard with artwork bounding box preserve legacy artboard
JavaScript
Z
: aiKeepTextEditable remplacée par aiAutomaticallyConvertText
: aiKeepGradientsEditable remplacée par
convertCropAreaToArtboard convertTilesToArtboard createArtboardWithArtworkBoundingBox preserveLegacyArtboard
VBScript
Z
ConvertCropAreaToArtboard ConvertTilesToArtboard CreateArtboardWithArtworkBoundingBox PreserveLegacyArtboard

Problèmes connus

X Les scripts qui créent, enregistrent et ferment un grand nombre de fichiers Illustrator devraient
régulièrement quitter Illustrator, puis le relancer. Le nombre maximal recommandé de fichiers à traiter avant de quitter Illustrator, puis de le relancer est de:
Z Sous Windows 500fichiers
Z Sous Mac OS 1000fichiers
Pour plus d’informations sur la manière dont vous pouvez quitter et relancer Illustrator, reportez-vous aux sections «
X Le message d’avertissement «An Illustrator error occurred: 1346458189 (“PARM”)» peut apparaître
quand des scripts mal rédigés sont exécutés plusieurs fois dans Illustrator depuis ESTK.
Lancement et activation d’Illustrator », page 26 et « Fermeture d’Illustrator », page 27.
Les auteurs de scripts doivent faire très attention à l’initialisation des variables ainsi qu’aux conflits engendrés par les espaces de noms lorsqu’ils lancent l’exécution répétée d’un lot de scripts Illustrator dans Illustrator par le biais d’ESTK, et ce dans le cadre d’une session Illustrator unique. Chaque script lancé est exécuté au sein du même moteur ExtendScript persistant dans Illustrator.
Page 17
CHAPITRE 1 : Introduction Problèmes connus 17
Le débogueur ESTK utilise BridgeTalk pour communiquer avec Illustrator. Un moteur ExtendScript persistant, global et unique au sein d’Illustrator gère l’ensemble des communications BridgeTalk. Grâce à Internet, le moteur ExtendScript s’ajoute à tous les scripts exécutés précédemment. Les problèmes de code de script pouvant être à l’origine de cet incident sont les suivants:
Z lecture de variables non initialisées;
Z conflits d’espaces de noms globaux, par exemple lorsque deux ensembles de scripts différents
s’opposent.
X Si vous créez plusieurs objets d’illustration dans AppleScript et affectez chacun d’eux à une variable,
toutes les variables sont définies sur le dernier élément. Cela signifie que les éléments créés précédemment ne sont pas accessibles.
Page 18
2

Modèle d’objet de script Illustrator

Bien comprendre le modèle d’objet Illustrator vous permettra d’améliorer vos capacités d’écriture de script. Le schéma suivant présente la hiérarchie de contenance du modèle d’objet, qui commence par
application. Les classes layer et group item peuvent comporter des objets imbriqués
l’objet susceptibles, eux aussi, de renfermer des objets imbriqués supplémentaires.
En plus de ces modèles d’objets spécifiques aux applications, JavaScript fournit certains objets utilitaires, tels que les objets système d’exploitation. Pour plus de détails, reportez-vous au Guide des outils JavaScript.
File et Folder, qui vous permettent un accès au système de fichiers indépendant du
18
Page 19
CHAPITRE 2 : Modèle d’objet de script Illustrator Conventions d’attribution de nom pour les objets 19

Conventions d’attribution de nom pour les objets

Il existe un modèle d’objet pour l’interface de script Illustrator, mais les noms d’objets réels varient légèrement selon les langages de script:
X Sous AppleScript, les noms figurent tous en minuscules et les mots individuels sont séparés par un
espace, par exemple:
graphic style
X
Sous VBScript, les noms commencent par une majuscule et les autres mots contenus dans le nom se distinguent par une première lettre en majuscule, par exemple:
GraphicStyle
Sous JavaScript, le nom commence par une minuscule et les autres mots contenus dans le nom se
X
distinguent par une première lettre en majuscule, par exemple:
graphicStyle
Ce chapitre utilise des noms d’objets et de propriétés génériques, mais vous pouvez appliquer aisément ces conventions pour déterminer les noms correspondant à un langage spécifique.
Les noms de propriétés, noms de méthodes et objets cités dans ce document sont en police

Objets de niveau supérieur (objets conteneurs)

Utilisez ces objets pour accéder à des informations globales sur l’application Illustrator ou à un document individuel.

Application

Les propriétés de l’objet application permettent à votre script d’accéder à des valeurs globales, telles que:
X la propriété preferences qu’un utilisateur définit de manière interactive dans l’application Illustrator
à l’aide de la boîte de dialogue Préférences (Edition> Préférences);
X les informations système telles que les polices installées (propriété text fonts) et les imprimantes
(propriété
Il existe aussi des propriétés qui fournissent des informations spécifiques aux applications et des informations de niveau supérieur relatives à tout document ouvert:
X les informations relatives aux applications, telles que le chemin d’installation, la version et le caractère
visible d’Illustrator (propriétés
X le document sélectionné (current active), c’est-à-dire la toile affichée et l’acceptation de la saisie de
texte de l’utilisateur;
printer list).
path, version et visible respectivement);
monospaced.
X tous les documents ouverts (documents).
Les commandes ou méthodes de l’objet
application permettent à votre script d’effectuer des actions au
niveau des applications, par exemple:
X Open: ouvrir des fichiers
X Undo et Redo: annuler et rétablir des opérations
X Quit: fermer Illustrator
Page 20
CHAPITRE 2 : Modèle d’objet de script Illustrator Hiérarchie des illustrations 20

Document

L’o b j e t document que vos scripts permettent de créer ou auquel ils peuvent accéder à partir de l’objet
application représente une toile ou un fichier Illustrator chargé. Les propriétés de l’objet document vous
permettent d’accéder au contenu du document, par exemple:
X
la sélection en cours (
X tous les objets graphiques insérés, appelés page items, qui organisent la hiérarchie des illustrations;
X les objets graphiques particuliers, tels que les symboles (symbols) et les blocs de texte (text frames);
X tous les calques (layers) et le calque actif (active layer).
Les propriétés du document vous renseignent également sur l’état du document en lui-même, par exemple:
X paramètres utilisateur associés au document, tels que ruler units;
X enregistrement (saved) éventuel du document depuis la dernière modification du contenu;
X chemin (path) du fichier associé.
selection
) ou les objets graphiques sélectionnés par l’utilisateur dans le document;
Les méthodes de l’objet
X Enregister (save) dans un fichier Illustrator ou enregistrer sous (save as) l’un des formats de fichier pris
X Activer (activate) ou fermer (close) un document
X Imprimer (print) le document. Vos scripts peuvent sélectionner une imprimante en référençant un

Calque

L’o b j e t layer permet d’accéder au contenu, ou hiérarchie des illustrations, d’un calque spécifique. Vous pouvez accéder à l’objet à un calque ou d’obtenir des informations sur celui-ci, notamment:
X le caractère visible (visible) ou verrouillé (locked) du calque;
X l’opacité (opacity) du calque (transparence globale) et sa position dans la pile (z order position);
X les préférences associées au calque en matière de création artistique, telles que artwork knockout et
document permettent à vos scripts d’agir sur le document, par exemple:
en charge
print options ou bien référencer les imprimantes disponibles via la propriété printer list
objet de l’objet d’application.
layer via l’objet document. Les propriétés de l’objet layer permettent d’accéder
blending mode.

Hiérarchie des illustrations

Le contenu d’un document Illustrator est appelé hiérarchie des illustrations. L’illustration est représentée par les objets suivants:
X compound path item
X graph item
X group item
X legacy
text item
Page 21
CHAPITRE 2 : Modèle d’objet de script Illustrator Hiérarchie des illustrations 21
X mesh
X non native item
X path item
X placed item
X plugin item
X raster item
X symbol item (voir « Objets dynamiques », page 25).
X text frame
item
Vos scripts peuvent accéder à des objets graphiques et les manipuler via des collections à partir des objets
document et layer. Il existe deux types de collections d’objets graphiques:
X Les objets de collection qui correspondent à chaque type d’objet d’illustration individuel, tel que
graph items ou l’objet mesh items.
l’objet
X L’o b j e t page items, qui inclut tous les types d’objets graphiques.
Vous pouvez également utiliser l’objet
group item pour référencer un ensemble groupé d’éléments
d’illustration.
Vous pouvez créer des objets graphiques à l’aide de la commande
add de l’objet de collection d’un élément d’illustration. Par exemple, pour créer un objet path item:
make sous AppleScript ou de la méthode
AppleScript set myPathItem to make new path item in current document
JavaScript var myPathItem = activeDocument.pathItems.add();
VBScript Set myPathItem = appRef.ActiveDocument.PathItems.Add()
Les collections d’illustrations ci-dessous ne permettent pas la création d’objets par le biais de la commande
X Objet graph items
X
Objet mesh items
X
Objet plugin items
X Objet legacy text items
make ou de la méthode add:
Pour plus d’informations sur la création d’objets de ce type, reportez-vous au document Adobe IllustratorCS5 Scripting Reference (Référence de script Adobe IllustratorCS5) correspondant au langage
utilisé.

Styles d’illustration

Votre script peut appliquer un style graphique à une illustration à l’aide de l’objet graphic style. Pour appliquer un style graphique, utilisez la propriété méthode
apply to de l’objet graphic style.
graphic styles de l’objet document afin d’accéder à la
De la même manière, l’objet
brush vous permet d’indiquer la forme à appliquer à l’illustration. Vous
pouvez accéder à n’importe quelle forme à partir de l’objet de collection de l’objet
document.
brushes, qui est une propriété
Page 22
CHAPITRE 2 : Modèle d’objet de script Illustrator Objets texte 22

Coloration d’objets

Votre script peut appliquer une couleur, un motif ou un dégradé à un objet path item, à l’aide des propriétés
X Les scripts peuvent définir de nouvelles nuances de couleur grâce à la commande make ou à la
X Vous pouvez définir les attributs d’un objet ink à l’aide de l’objet ink info, qui est une propriété de
Les objets ci-après vous permettent de créer des couleurs dans des espaces colorimétriques définis:
X l’objet RGB color, que vous pouvez définir à l’aide d’une plage de valeurs allant de0 à255 pour
X l’objet CMYK color, que vous pouvez définir à l’aide de valeurs de pourcentage allant de0 à100 pour
X les objets grayscale color ou LAB color, que vous pouvez définir grâce à la même plage et au même
fill color ou stroke color.
méthode la commande
l’objet
add de l’objet swatches. Votre script permet également de créer des tons directs à l’aide de
make ou de la propriété add de l’objet spots.
ink. Pour accéder aux objets ink, utilisez la propriété ink list de l’objet document.
chacune des trois valeurs chromatiques;
chacune des quatre valeurs chromatiques;
nombre de valeurs que celles utilisées dans l’application Illustrator.

Objets texte

Lorsque vous saisissez du contenu dans un document Illustrator, le type devient automatiquement un
text frame et, en même temps, un objet story.
objet
Pour observer cela, ouvrez un nouveau document dans Illustrator. Utilisez ensuite l’outil de texte horizontal pour saisir du texte, puis utilisez l’outil de texte vertical pour saisir du texte supplémentaire. Créez enfin un rectangle avant d’y saisir du texte. Exécutez maintenant le script JavaScript suivant:
var myDoc = app.activeDocument alert("There are " + myDoc.textFrames.length + " text frames.") alert("There are " + myDoc.stories.length + " stories.")

Blocs de texte

Il existe trois types de bloc de texte:
X point (texte de point)
X area (texte captif )
X path (texte curviligne)
Page 23
CHAPITRE 2 : Modèle d’objet de script Illustrator Objets texte 23
Pour créer un type de bloc de texte spécifique, utilisez la propriété kind de l’objet text frames sous AppleScript. Les objets
text frames sous JavaScript et VBScript contiennent des méthodes spécifiques de
création de blocs de texte captifs et curvilignes.
Tout comme dans l’application Illustrator, vous pouvez lier des blocs de texte captifs ou curvilignes.
Pour lier des blocs de texte existants, utilisez la propriété
frame. Les blocs liés créent un objet story unique.
next frame ou previous frame de l’objet text
Pour plus de détails sur la création ou la liaison de blocs de texte, reportez-vous au chapitre de ce guide correspondant à votre langage de script.
Géométrie du texte
Même si les trois types de blocs de texte ont des caractéristiques communes, comme la propriété
orientation, chacun possède des qualités qui lui sont propres, reflétées dans les propriétés de l’objet text frame. Par exemple:
X Un bloc de texte captif peut comporter des lignes et des colonnes auxquelles vous accédez par le biais
des propriétés
X Le texte curviligne possède des propriétés start T value et end T value qui indiquent où le texte
commence et se termine sur le tracé.
X Les blocs de texte captifs et curvilignes sont associés à un objet text path, spécifié à l’aide de la
propriété orientation, horizontale ou verticale, sur le plan de travail (tandis que la propriété
text frame définit l’orientation du texte à l’intérieur du bloc de texte).
l’objet
La propriété text path n’est pas valide pour le texte de point, car la position et l’orientation du texte de point sont entièrement définies par les propriétés du bloc de texte lui-même.
row count et column count.
text path de l’objet text frame. Le tracé de texte définit la position du bloc de texte et son
orientation de
EMARQUE : un tracé de texte n’est pas le même qu’un élément d’illustration de tracé. Les tracés de texte
R
sont associés aux éléments d’illustration de tracé; vous pouvez y accéder et les manipuler pour modifier l’apparence du bloc de texte associé.

Objets représentant le contenu de texte

Il est possible d’accéder au contenu du texte réel d’un bloc de texte ou d’un article, de même qu’aux objets suivants:
X characters
X words
X paragraphs
X lines
Un objet
story. Tous les éléments d’illustration de texte comportent au moins une ligne de texte définie en tant
qu’objet des retours forcés à la ligne ou si ces caractères passent à la ligne suivante, car ils ne s’adaptent pas à la largeur de l’illustration de texte. Les collections accèdent aux objets de texte et les identifient dans les objets
story("My Story").paragraphs.
line correspond à tous les caractères d’une ligne entière contenue dans un objet text frame ou
line. Les illustrations de texte peuvent comporter plusieurs lignes de texte si le texte contient
text frame et story; par exemple, textFrame("My Text Frame").paragraphs ou
Page 24
CHAPITRE 2 : Modèle d’objet de script Illustrator Objets texte 24
Les objets text frame et story comportent les propriétés insertion point et text selection. Les propriétés de l’objet
text frame incluent également les caractéristiques qui définissent le bloc de
texte, telles que:
X les valeurs de largeur (width), hauteur (height) et position (position) du bloc;
X le caractère masqué (hidden) ou verrouillé (locked) du cadre;
X le caractère modifiable (editable) du texte.
R
EMARQUE : Il n’est pas possible de créer un objet line dans un script. Un script permet de créer des objets
character, paragraph et word.
Plages de texte
Les différents objets de texte d’un bloc de texte ou d’un article sont également représentés collectivement par l’objet
text range. Par exemple, un caractère correspond à une plage de texte d’une longueur de
1 tandis qu’un mot correspond à une plage de texte qui comporte un espace à l’avant.
Vous pouvez définir le contenu d’un objet
contents.

Styles de texte

Les éléments de style de texte, tels que font, capitalization et justification, sont représentés par les objets objets associés à des méthodes attributs d’une plage donnée de paragraphes, de texte ou de caractères.
Vous pouvez modifier l’affichage des propriétés d’une plage de texte en appliquant un style approprié ou en fournissant des priorités locales des attributs au niveau du texte ou du paragraphe:
paragraph attribute et character attribute. Ces objets d’attribut sont des propriétés des
paragraph style et character style. Les objets paragraph style et character style sont
text range en transmettant une chaîne à l’aide de la propriété
apply to et remove qui permettent à votre script d’attribuer ou d’effacer les
X Les objets character style s’appliquent à des ensembles d’un ou de plusieurs caractères. Ils
contrôlent des caractéristiques relatives aux caractères, telles que
language et capitalization, qui sont des propriétés de l’objet character attribute.
X Les objets paragraph style s’appliquent aux paragraphes. Ils contrôlent des caractéristiques relatives
aux paragraphes, telles que propriétés de l’objet
paragraph attribute.
first line indent, left indent et right indent, qui sont des
font, alignment, leading,
Page 25
CHAPITRE 2 : Modèle d’objet de script Illustrator Objets dynamiques 25

Objets dynamiques

Vous pouvez réaliser des graphiques adaptés aux données en créant des objets dynamiques. Dans l’application Illustrator, utilisez le panneau Variables pour créer ou éditer des variables telles que les données d’un graphe, un fichier lié, une chaîne de caractères et la visibilité ou des variables dont le type n’est pas spécifié. Lors de l’écriture d’un script, l’objet variable. La propriété
variable. Les objets variable sont des objets de niveau document: vous pouvez les créer dans un
objet
document.
objet
R
EMARQUE : ne confondez pas objets variable et variables de script. Pour plus d’informations sur les
kind de l’objet variable indique le type de données dynamiques figurant dans un
variable vous permet de représenter ce type de
variables Illustrator, les objets dynamiques et les graphiques adaptés aux données, reportez-vous à l’aided’Illustrator.
Les ensembles de données, qui rassemblent des variables et leurs données dynamiques associées dans un même objet, sont représentés par l’objet permettant de mettre à jour et de supprimer les objets
dataset dans un script. L’objet dataset fournit des méthodes
dataset dans vos scripts.

Symboles

Dans Illustrator, les symboles sont des éléments d’illustration stockés dans le panneau Symboles. Vos scripts peuvent créer, supprimer et dupliquer les objets dans votre script, Illustrator les ajoute au panneau Symboles relatif au document cible.
symbol. Lorsque vous créez des objets symbol
Un objet
symbol item est lié à sa définition de symbole, de telle sorte que si cette définition est modifiée, toutes les
symbol item correspond à une instance d’un objet symbol dans un document. Chaque objet
instances du symbole sont mises à jour.
Votre script peut créer, supprimer et dupliquer les éléments de symbole. Les éléments de symbole sont des éléments d’illustration d’Illustrator et peuvent ainsi être traités de la même manière que les autres éléments d’illustration ou de page. Vous pouvez faire pivoter, redimensionner, sélectionner, verrouiller, masquer et effectuer d’autres opérations sur les éléments de symbole.

Transformations

L’o b j e t matrix permet d’accéder à la puissance des matrices de transformation géométrique. Les matrices de transformation d’Illustrator stockent les paramètres d’une opération qui met à l’échelle, fait pivoter ou déplace (translate) un objet sur une page. L’utilisation des matrices présente certains avantages:
X En stockant des valeurs de transformation dans un objet matrix, vous pouvez réutiliser ces valeurs sur
d’autres objets du script.
X Grâce à la concaténation de la rotation, la translation et/ou la mise à l’échelle des matrices et à
l’application de la matrice obtenue, vous pouvez effectuer de nombreuses transformations géométriques à l’aide d’une instruction de script unique.
X Vous pouvez inverser les valeurs de la matrice.
X Vous pouvez comparer les valeurs de deux matrices.
L’o b j e t
application propose des commandes ou méthodes qui permettent de créer, d’obtenir, d’inverser,
de comparer ou de concaténer des matrices.
La commande ou méthode utilisée pour appliquer une matrice s’intitule type d’objet sur lequel des transformations peuvent être effectuées.
transform; elle appartient à tout
Page 26
3

Scripts Illustrator

Ce chapitre fournit une présentation sur l’utilisation des objets de script pour programmer IllustratorCS5. Des exemples spécifiques pour les langages de scripts pris en charge sont fournis dans les chapitres qui suivent.

Lancement et fermeture d’Illustrator à partir d’un script

Vos scripts peuvent vous permettre de lancer et de quitter Illustrator.

Lancement et activation d’Illustrator

AppleScript
Dans AppleScript, vous pouvez utiliser une instructiontell pour cibler Illustrator. La commandeactivate active Illustrator s’il n’est pas encore actif.
tell application "Adobe Illustrator"
activate
end tell
JavaScript
Vous pouvez généralement exécuter des scripts JavaScript à partir du menu Scripts de l’application (Fichier> Scripts) ou du dossier de démarrage; il n’est pas nécessaire de lancer Illustrator à partir de votre script.
Les informations sur le lancement d’Illustrator dans un script JavaScript ne figurent pas dans ce guide. Pour plus d’informations, faites une recherche sur la «messagerie interapplications» ou sur le «cadre de la messagerie JavaScript» dans le Guide des outils JavaScript.
VBScript
Il existe plusieurs façons de créer une instance d’Illustrator:
X CreateObject lance Illustrator en tant qu’application invisible si ce dernier n’est pas encore lancé.
Si Illustrator est lancé en tant qu’application invisible, vous devez activer manuellement l’application pour la rendre visible:
Set appRef = CreateObject("Illustrator.Application")
Si plusieurs versions d’Illustrator sont installées sur la même machine et que vous utilisez la méthode
CreateObject
crée une référence à la dernière version d’Illustrator. Pour cibler spécifiquement une version précédente, indiquez l’identifiant de version à la fin de la chaîne:
Pour Illustrator10, utilisez «Illustrator.Application.1» Pour IllustratorCS, utilisez Pour IllustratorCS2, utilisez Pour IllustratorCS3, utilisez Pour IllustratorCS4, utilisez Pour IllustratorCS5, utilisez
pour obtenir une référence d’application, l’utilisation de
«Illustrator.Application.2»
«Illustrator.Application.3» «Illustrator.Application.4» «Illustrator.Application.CS4» «Illustrator.Application.CS5»
« Illustrator.Application »
26
Page 27
CHAPITRE 3 : Scripts Illustrator Utilisation d’objets 27
X
Utilisez l’opérateur New si vous avez ajouté une référence à la bibliothèque type Illustrator du projet. Par exemple, la ligne suivante crée une référence à l’objet
Set appRef = New Illustrator.Application
Application:

Fermeture d’Illustrator

AppleScript
Utilisez la commandequit suivante:
tell application "Adobe Illustrator"
quit
end tell
JavaScript
Utilisez la méthodeapp.quit() suivante:
app.quit()
VBScript
Utilisez la méthodeQuit d’objet Application suivante:
Set appRef = CreateObject("Illustrator.Application") appRef.Quit

Utilisation d’objets

Obtention du document ou du calque situé au premier plan

Pour faire référence au document sélectionné, utilisez la propriétécurrent document de l’objet
application dans AppleScript ou la propriétéactive document dans JavaScript ou VBScript. De la même
manière, vous pouvez utiliser la propriété référence au calque sélectionné.
Il existe d’autres types de propriétés d’objet «actives» ou «sélectionnées», par exemple active dataset
active view. Pour obtenir des détails, reportez-vous au document Adobe IllustratorCS5 Scripting
ou Reference (Référence de script AdobeIllustratorCS5) correspondant à votre langage de script.

Création d’objets

current layer ou active layer de l’objet document pour faire
Certains objets (outre l’objet application lui-même) ne peuvent être obtenus à partir de conteneurs ou d’objets parents. Votre script doit créer ces objets directement.
Page 28
CHAPITRE 3 : Scripts Illustrator Utilisation d’objets 28
Les objets suivants doivent être créés spécifiquement:
CMYK color document preset EPS save options export options AutoCAD export options Flash export options GIF export options JPEG export options Photoshop export options PNG8 export options PNG24 export options SVG file folder gradient color gray color Illustrator save options ink
Les objets
file et folder sont des périphériques Adobe ExtendScript conçus pour fournir un accès
ink info lab color matrix MXG save options no color open options open options AutoCAD open options FreeHand open options PDF open options Photoshop paper info Pattern color PDF save options PPD file PPD file info print color management options print color separation options
print coordinate options printer printer info print flattener options print font options print job options print options print page marks options print paper options print postscript options raster effect options rasterize options screen screen spot function RGB color spot color tracing options
indépendant des plates-formes au système de fichier sous-jacent. Pour plus de détails sur l’utilisation de ces objets, reportez-vous au Guide des outils JavaScript.
Pour plus d’informations sur la création explicite d’un objet, reportez-vous au chapitre correspondant à votre langage de script.

Objets de collection

Vous pouvez obtenir la plupart des objets de collection à partir d’un conteneur. Par exemple, un objet de collection d’une collection exemple, reportez-vous aux sections sur les langages ci-dessous.
AppleScript
Pour faire référence à un objetpath items dans un document:
path item 1 in document 1
Pour faire référence à un objetpath items dans un calque:
path item 1 in layer 1 in document 1
JavaScript
Pour faire référence à un objetpath items dans un document:
documents[0].pathItems[1]
Pour faire référence à un objetpath items dans un calque:
path items peut figurer dans un objetdocument ou un objetlayer. Pour obtenir un objet
path items, vous devez faire référence à un autre objet contenant. Pour obtenir un
documents[0].layers[0].pathItems[0]
Page 29
CHAPITRE 3 : Scripts Illustrator Utilisation d’objets 29
VBScript
Pour faire référence à un objetpath items dans un document:
Documents(1).PathItems(1)
Pour faire référence à un objetpath items dans un calque:
Documents(1).Layers(1).PathItems(1)
Pour obtenir plus d’exemples sur les conteneurs d’éléments de collection, reportez-vous au tableau Eléments de l’objet (Référence de script AdobeIllustratorCS5: AppleScript), ou le tableau Properties du document Adobe
Illustrator CS5 Scripting Reference: JavaScript (Référence de script AdobeIllustratorCS5: JavaScript) ou Adobe Illustrator CS5 Scripting Reference: VBScript (Référence de script AdobeIllustratorCS5: VBScript).
Un diagramme du modèle d’objet IllustratorCS5 est disponible à la section «
Illustrator », page 18.
document dans le document Adobe Illustrator CS5 Scripting Reference: AppleScript
Modèle d’objet de script

Objets sélectionnés

Vous souhaitez parfois écrire des scripts qui agissent sur les objets actuellement sélectionnés ou non. Par exemple, vous souhaitez appliquer une mise en forme donnée au texte sélectionné ou modifier la forme d’un tracé sélectionné.
Sélection de texte
Pour sélectionner du texte, utilisez la commandeselect ou la méthode de l’objettext range.
Sélection d’éléments d’illustration
Vous pouvez sélectionner un objet graphique (tel qu’un élément graphique, un élément de filet, un élément pixellisé, un élément de symbole, etc.) en définissant sa propriété AppleScript,
selected est une propriété de l’objetpage items.)
selected sur true. (Dans
Référence à des éléments d’illustration sélectionnés
Pour faire référence à tous les objets actuellement sélectionnés d’un document, utilisez la propriété
selection de l’objet document. Pour les objets du tableau de données de sélection, vous devez déterminer
leur type, de manière à savoir quelles propriétés et méthodes ou commandes vous pouvez utiliser. Dans JavaScript et VBScript, chaque type d’objet d’illustration possède une propriété que vous pouvez utiliser pour déterminer le type d’objet. Dans AppleScript, utilisez la propriété
typename en lecture seule
class.

Remarques sur le changement de nom d’objets stockés dans les panneaux de l’application

Plusieurs objets peuvent être renommés, c’est-à-dire que vous pouvez modifier leur propriété d’objets ci-après peuvent être classés par ordre alphabétique dans le panneau Illustrator correspondant. Si un script modifie le nom d’un tel objet, les références d’index à cet objet peuvent ne plus être valides.
name
. Les types
Brush Gradient Graphic Style Pattern Swatch Symbol Variable
Page 30
CHAPITRE 3 : Scripts Illustrator Unités de mesure 30

Unités de mesure

Illustrator utilise les points en tant qu’unité de mesure pour presque toutes les distances. 1pouce correspond à 72points. Il existe une exception pour les valeurs des propriétés telles que
tracking et aki (utilisée pour les compositions de texte japonaises), pour lesquelles l’unité est l’«em».
(voir la section «
Illustrator utilise des points lors de la communication avec vos scripts, quelle que soit l’unité de graduation de la réglette. Si votre script repose sur l’addition, la soustraction, la multiplication ou la division de valeurs de mesure spécifiques pour des unités autres que le point, il doit effectuer toutes les conversions d’unités nécessaires afin que vos mesures soient en points. Par exemple, si vous souhaitez utiliser des pouces pour vos coordonnées ou vos unités de mesure, vous devez multiplier toutes les valeurs en pouces par 72 lorsque vous saisissez les valeurs dans votre script.
Le tableau suivant présente les formules de conversion pour les différentes unités de mesure:
Unité Formule de conversion
centimètres 28,346points=1centimètre
pouces 72points=1pouce
Unités em », page 30).
kerning,
millimètres 2,834645points=1millimètre
picas 12points=1pica
Q 0,709point=1Q (1Q équivaut à 0,23millimètre)
JavaScript fournit le type d’objet de détails, reportez-vous au Guide des outils JavaScript.
UnitValue, qui propose des utilitaires de conversion d’unités. Pour plus

Unités em

Les valeurs qui utilisent l’unité em au lieu de points sont mesurées en millièmes d’unité em.
Une unité em est proportionnelle à la taille du corps de police actuel. Par exemple, avec une police de 6points, 1em équivaut à 6points; avec une police de 10points, 1em équivaut à 10points. Avec une police de 10points, une valeur de crénage de 20unités em correspond à:
(20 units x 10 points) / 1000 units/em = 0.2 points

Positionnement et dimensions d’un élément de page

Illustrator utilise une géométrie simple à deux dimensions sous forme de points pour enregistrer la
position des objets pageitem dans un document. Chaque objet pageitem d’un document a une
propriété Le point fixe se trouve dans le coin supérieur gauche du cadre de sélection de l’objet.
position qui définit un point fixe correspondant aux coordonnées de la page au format[x, y].
Pour plus d’informations sur les types d’objets qui constituent la collection section «
Un point est désigné par des coordonnées:
X la position horizontale, x;
X la position verticale, y.
Hiérarchie des illustrations », page 20.
pageitems, reportez-vous à la
Page 31
CHAPITRE 3 : Scripts Illustrator Positionnement et dimensions d’un élément de page 31
Vous pouvez consulter ces coordonnées depuis le panneau Informations lorsque vous sélectionnez ou que vous créez un objet dans Illustrator.
Pour le plan de travail, l’origine des coordonnées par défaut, (0,0), figure dans l’angle supérieur gauche, qui se reflète dans la propriété
ruler origin de l’objetartboard. Les valeursX des coordonnées
augmentent lorsque l’on progresse de la gauche vers la droite, tandis que les valeursY augmentent du haut vers le bas. Cette modification a été apportée dans la versionCS5. Pour conserver la compatibilité entre les scripts, un document créé par un script utilise toujours l’ancien système, avec l’origine située en bas à gauche du plan de travail et la valeurY augmentant à mesure que l’on progresse du bas vers le haut. La propriété
page origin d’un objet document définit l’angle inférieur gauche de la zone imprimable du
document en tant que point fixe.
Chaque objet
page item possède également des propriétéswidth et height. La valeur maximale
autorisée pour la largeur ou la hauteur de l’élément de la page est de 16348points.

Limites des éléments d’illustration

Chaque objet page item possède trois propriétés qui utilisent les rectangles fixes pour décrire l’étendue globale de l’objet:
X La propriétégeometric bounds d’un élément de page correspond aux dimensions rectangulaires du
cadre de sélection de l’objet, à l’exclusion de l’épaisseur de contour.
X La propriétévisible bounds d’un élément de page correspond aux dimensions de l’objet, y compris
les épaisseurs de contour.
X La propriétécontrol bounds correspond aux dimensions rectangulaires de l’objet, y compris les
points de contrôle internes et externes.
L’image suivante illustre ces propriétés, à l’aide des conventions d’attribution de nom JavaScript.
Page 32
CHAPITRE 3 : Scripts Illustrator Tracés et formes 32

Tracés et formes

Les tracés sont représentés dans le modèle d’objets de document (DOM) Illustrator par l’objetpath item. Les éléments de tracé comprennent toutes les illustrations qui contiennent des tracés, telles que les rectangles, les ellipses et les polygones, de même que les tracés libres.
Un tracé libre consiste en une série de points de tracé. Un point de tracé peut être défini de deux manières:
X en tant que série de coordonnées de page x et y;
X en tant qu’objet path point, qui définit un point d’ancrage et deux points de direction ou poignées
qui indiquent la courbe de segment du tracé.
Pour plus de détails, d’exemples et d’informations sur la création de formes, reportez-vous au chapitre correspondant à votre langage de script.

Niveaux d’interaction de l’utilisateur

Lorsque l’avis de l’utilisateur est requis, une boîte de dialogue apparaît généralement. C’est ce que l’on appelle l’interaction de l’utilisateur. Cette fonction très utile survient souvent en cas d’interaction directe avec une application. Cependant, lorsqu’un script interagit avec une application, la boîte de dialogue interrompt l’exécution du script jusqu’à sa fermeture. Cela peut constituer un problème sérieux dans le cas d’un environnement automatisé où personne ne se charge des boîtes de dialogue.
L’o b j e t  niveau d’interaction autorisé pendant l’exécution du script. Vous pouvez supprimer l’interaction dans un environnement automatisé ou permettre quelques interactions lorsque les scripts sont utilisés d’une manière plus interactive.

AppleScript

Il est possible d’envoyer des commandes d’une machine à une autre à l’aide d’AppleScript afin d’autoriser d’autres interactions. Dans AppleScript, il existe quatre autres valeurs possibles pour la propriété
interaction level:
Valeur de la propriété Résultat
application comporte une propriétéuser interaction level qui vous permet de contrôler le
user
never interact
interact with self
interact with local
interact with all
Aucune interaction autorisée
Interaction uniquement avec des scripts exécutés à partir du menu Scripts (Fichier> Scripts)
Interaction uniquement avec des scripts exécutés sur la machine locale (y compris la machine elle-même)
Interaction avec tous les scripts
Page 33
CHAPITRE 3 : Scripts Illustrator Impression de documents Illustrator 33
Ces quatre valeurs vous permettent de contrôler l’interaction en fonction de la source des commandes de scripts. Par exemple, si l’application agit en tant que serveur pour les utilisateurs à distance, il serait difficile pour un utilisateur à distance de fermer une boîte de dialogue. En revanche, cela ne présente pas de problème pour quelqu’un qui se trouve devant la machine. Dans ce cas, un niveau d’interaction de type interact with local empêcherait les boîtes de dialogue d’interrompre les scripts à distance, mais permettrait de présenter les boîtes de dialogue associées aux scripts locaux.

JavaScript

Dans JavaScript, il existe deux valeurs possibles pour la propriété app.userInteractionLevel:
Valeur de la propriété Résultat
DISPLAYALERTS
DONTDISPLAYALERTS
Interaction autorisée
Aucune interaction autorisée

VBScript

Dans VBScript, il existe deux valeurs possibles pour la propriétéUserInteractionLevel de l’objet
Application:
Valeur de la propriété Résultat
aiDisplayAlerts
aiDontDisplayAlerts
Interaction autorisée
Aucune interaction autorisée

Impression de documents Illustrator

En utilisant la fonction de script print options, vous pouvez capturer et automatiser des parties de votre flux d’impression. Le script expose l’ensemble des possibilités d’impression d’Illustrator, dont certaines peuvent ne pas être accessibles via l’interface utilisateur de l’application.
Illustrator prend en charge une session d’impression au maximum à la fois, en raison de limitations de l’architecture d’impression actuelle.
La commande ou la méthode qui vous permet d’indiquer l’objet
L’o b j e t
print options vous permet de définir les paramètres d’impression tels quePPD, les options
PostScript, les options papier, les options de gestion de couleur, etc. L’objet également une propriété
print de l’objetdocument prend en compte un seul paramètre en option,
print options.
print options comporte
print preset qui vous permet d’indiquer un paramètre prédéfini pour spécifier
votre travail d’impression.
Lorsque vous définissez les propriétés d’un objetprint options, vous pouvez prendre connaissance des imprimantes, PPD, paramètres prédéfinis d’impression et autres éléments disponibles grâce aux propriétés de la «liste» en lecture seule de l’objet
print presets list.
et
application, comme les propriétésprinter list, PPD file list
Page 34
4

Création de scripts à l’aide d’AppleScript

Ce chapitre utilise des exemples de script, accompagnés d’explications pour vous aider à vous familiariser avec la création de scripts Illustrator à l’aided’AppleScript.

Pour plus d’informations

Vous trouverez plusieurs exemples de scripts étendus dans le dossier :Scripting:SampleScripts du répertoire d’installation d’IllustratorCS5.
Pour plus de détails sur les classes, objets, propriétés, commandes et paramètres individuels, ainsi que pour obtenir des exemples de scripts illustrant leur application, reportez-vous au guide Adobe IllustratorCS5 Scripting Reference: AppleScript (Référence de script Adobe IllustratorCS5: AppleScript), disponible dans le dossier pouvez également consulter le dictionnaire d’IllustratorCS5 depuis l’application Editeur de scripts (voir
Affichage du modèle d’objet AppleScript », page 9).
«
Si vous ne comprenez pas les concepts et les termes utilisés dans ce chapitre, reportez-vous au document Introduction aux scripts Adobe.
:Scripting:Documentation du répertoire d’installation d’IllustratorCS5. Vous

Votre premier script Illustrator

Le premier projet classique abordé lors de l’apprentissage d’un nouveau langage de programmation consiste à afficher le message «HelloWorld!». Dans cet exemple, vous allez créer un documentIllustrator, puis ajouter un bloc de texte contenant ce message. Procédez comme suit:
1. Ouvrez l’application Editeur de scripts.
Dans une installation MacOS par défaut, l’application Editeur de scripts se trouve dans le dossier
Applications:AppleScript:Script Editor. Si vous ne trouvez pas l’application Editeur de scripts,
vous devez la réinstaller à partir du CD du système MacOS.
2. Entrez le script ci-dessous.
--Send the following commands to Illustrator tell application "Adobe Illustrator"
--Create a new document set docRef to make new document
--Create a new text frame with the string "Hello World" set textRef to make new text frame in docRef ? with properties {contents: "Hello World!", position:{200, 200}} end tell
3. Dans la barre d’outils de l’application Editeur de scripts, cliquez sur la commandeExécuter.
C
ONSEIL : pour ajouter le script au menu des scriptsIllustrator (Fichier> Scripts), vous devez l’enregistrer
dans le dossierScripts. Le script s’affichera dans le menu au prochain démarrage d’Illustrator. Pour plus de détails, reportez-vous à la section «
Installation de scripts dans le menu Scripts », page 10.
34
Page 35
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Référencement d’objets 35
Ajout de caractéristiques à «HelloWorld»
Nous allons maintenant créer un script qui modifiera le document Illustrator créé avec votre premier script. Notre deuxième script indique comment:
X obtenir le document actif;
X obtenir la largeur du document actif;
X redimensionner le bloc de texte pour l’adapter à la largeur du document.
Si vous avez fermé le document Illustrator, exécutez votre premier script une nouvelle fois pour créer un document.
Procédez comme suit:
1. Dans l’application Editeur de scripts, choisissez la commande Fichier> Nouveau pour créer un script.
2. Entrez le code suivant:
tell application "Adobe Illustrator"
-- current document is always the active document
set docRef to the current document set docWidth to the width of docRef
-- resize the text frame to match the page width
set width of text frame 1 of docRef to docWidth
-- alternatively, one can reference the item directly, as follows:
set width of text frame 1 of current document to docWidth
end tell
3. Exécutez le script.

Référencement d’objets

Dans AppleScript, Illustrator renvoie des références à l’objet par index ou par nom. Voici, par exemple, une référence au premier tracé sur le calque2:
path item 1 of layer 2 of document 1
La position d’index de l’objet peut changer à mesure que vous créez ou supprimez d’autres objets. Par exemple, lorsque vous créez un élément de tracé sur le calque
path item 1 of layer 2 of document 1. Le nouvel objet déplace l’élément de tracé initial en le forçant à la
position2. Ainsi, toute référence à Cette méthode d’application de numéros d’index assure que le numéro le plus bas fait référence au dernier objet sur lequel vous avez travaillé.
Observez le script d’exemple suivant:
-- Make 2 new objects and try to select both
tell application "Adobe Illustrator"
set newDocument to make new document set rectPath to make new rectangle in newDocument set starPath to make new star in newDocument set selection of newDocument to {rectPath, starPath}
end tell
layer 2, ce nouvel élément de tracé devient
path item 1 of layer 2 of document 1 renvoie vers le nouvel objet.
Page 36
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Référencement d’objets 36
Ce script ne sélectionne pas le rectangle et l’étoile, contrairement à ce qui était prévu. En fait, il ne sélectionne que l’étoile. Essayez d’exécuter le script avec la fenêtre Historique des événements ouverte, et observez les références renvoyées par Illustrator pour chacune des commandes
make consécutives.
(Choisissez l’option Hist. des événements au bas de la fenêtre de l’application Editeur de scripts.) Les deux commandes renvoient la même référence d’objet, à savoir:
path item 1 of layer 1 of document 1.
Par conséquent, la dernière ligne est résolue de la façon suivante:
set selection of document 1 to {path item 1 of layer 1 of document 1, ?
path item 1 of layer 1 of document 1}
Une meilleure approche consiste à référencer les objets par leur nom:
tell application "Adobe Illustrator"
set newDocument to make new document make new rectangle in newDocument with properties {name:"rectangle"} make new star in newDocument with properties {name:"star"} set selection of newDocument to ?
{path item "rectangle" of newDocument, ? path item "star" of newDocument}
end tell
Cet exemple illustre la nécessité d’identifier de manière unique les objets dans les scriptsAppleScript. Nous vous recommandons d’affecter des noms ou des variables aux objets auxquels vous devrez accéder ultérieurement, car rien ne garantit que vous accédez aux bons objets lorsque vous utilisez la méthode d’accès par index.

Obtention d’objets de documents et calques

Ce script fait référence à un objet en tant que partie d’un document:
-- Get reference for first page item of document 1
tell application "Adobe Illustrator"
set pageItemRef to page item 1 of document 1
end tell
Dans le script suivant, la variable pageItemRef ne fait pas nécessairement référence au même objet que dans le script précédent, car ce script inclut une référence à un calque:
-- Get reference for first page item of layer 1 of document 1
tell application "Adobe Illustrator"
set pageItemRef to page item 1 of layer 1 of document 1
end tell

Création d’objets

Pour créer un objet dans AppleScript, utilisez la commande make.

Utilisation de sélections

Lorsque l’utilisateur effectue une sélection dans un document, les objets sélectionnés sont stockés dans la propriété document actif:
selection du document en question. Pour accéder à tous les objets sélectionnés dans le
tell application "Adobe Illustrator"
set myDoc to current document set selectedObjects to selection of myDoc
end tell
Page 37
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Utilisation de blocs de texte 37
En fonction des éléments sélectionnés, la valeur de la propriété selection peut être un tableau de tout type d’objets d’illustration. Pour obtenir ou manipuler les propriétés des éléments d’illustration sélectionnés, vous devez récupérer les éléments individuels dans le tableau de données. Pour connaître le type d’un objet, utilisez la propriété
class.
L’exemple suivant permet d’obtenir le premier objet dans le tableau de données, puis d’afficher le type d’objet:
tell application "Adobe Illustrator"
set myDoc to current document set selectedObjects to selection of myDoc set topObject to item 1 of selectedObjects display dialog (class of topObject)
end tell
Le premier objet d’un tableau de données de sélection correspond à l’objet sélectionné ajouté en dernier à la page, et non au dernier objet sélectionné.
Sélection d’objets d’illustration
Pour sélectionner un objet d’illustration, utilisez la propriété selected de l’objet.

Utilisation de blocs de texte

Pour créer un bloc de texte d’un type donné dans AppleScript, utilisez la propriété
set myRect to make new rectangle in current document with properties ? {position:{100, 700}, height:100, width:100} set myAreaText to make new text frame in current document with properties ? {kind:point text,contents:"Text Frame 1"}

Blocs liés

Tout comme dans l’application Illustrator, vous pouvez lier des blocs de texte captifs ou curvilignes.
Pour lier des blocs de texte existants, utilisez la propriété
frame.
Lorsque vous copiez le script suivant dans votre éditeur de scripts, placez la valeur de la propriété
contents sur une seule ligne. Le caractère de ligne longue(¬) n’est pas valide dans une valeur de chaîne.
tell application "Adobe Illustrator"
make new document make new rectangle in current document with properties ?
make new text frame in current document with properties ?
make new rectangle in current document with properties ?
make new text frame in current document with properties ? {kind:area text, text path:the result, name:"tf2", ?
--use the next frame property to thread the frames
redraw
end tell
kind
de l’objet
next frame ou previous frame de l’objet text
{position:{100, 500}, height:100, width:100}
{kind:area text, text path:the result, name:"tf1", ? contents:"This is two text frames linked together as one story, with? text flowing from the first to the last. First frame content. "}
{position:{300, 700}, height:100, width:100}
contents:"Second frame content." }
set next frame of text frame "tf1" of current document to ? text frame "tf2" of current document
text frame
.
Page 38
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Création de tracés et de formes 38
Création d’un objet d’article unique à l’aide de blocs liés
Les blocs liés créent un objet story unique. Pour observer cette opération, exécutez le script AppleScript suivant après l’exécution du script à la section «
display dialog ("There are " & (count(text frames of current document)) & " text frames.") display dialog("There are " & (count(stories of current document)) & " stories.")
Blocs liés », page 37.

Création de tracés et de formes

Cette section explique comment créer des éléments comportant des tracés.

Tracés

Pour créer un tracé linéaire ou libre, spécifiez une série de points de tracé sous la forme d’une série de coordonnées x-y ou d’objets
Les coordonnées x-y limitent le tracé à des segments droits. Pour créer un tracé incurvé, vous devez créer des objets path point. Un tracé peut consister en une combinaison de coordonnées de page et d’objets
path point.
path point.
Spécification d’une série de coordonnéesx-y
Pour spécifier un tracé à l’aide de paires de coordonnées de page, utilisez la propriété entire path de
path items. Le script suivant spécifie trois paires de coordonnéesx,y permettant de créer un tracé
l’objet comportant trois points:
tell application "Adobe Illustrator" set docRef to make new document
-- set stroked to true so we can see the path
set lineRef to make new path item in docRef with properties {stroked:true} set entire path of lineRef to {{220, 475},{200, 300},{375, 300}} end tell
Utilisation d’objets PathPoint
Pour créer un objet path point, vous devez définir trois valeurs relatives au point:
X un point anchor fixe, représentant le point sur le tracé;
X deux points directeurs, left direction et right direction, qui vous permettent de contrôler la
courbure du segment de tracé.
Vous définissez chaque propriété en tant que tableau de données de coordonnées de page au format[x,y]:
X Si les trois propriétés d’un objet path point ont les mêmes coordonnées et que les propriétés de
path point suivant sur la ligne sont égales les unes aux autres, vous obtenez un segment de
l’objet ligne droite.
X Si plusieurs propriétés d’un objet path point présentent des valeurs différentes, le segment relié au
point est incurvé.
Page 39
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Création de tracés et de formes 39
Pour créer un tracé ou ajouter des points à un tracé existant à l’aide d’objets path point, créez un objet
path item, puis ajoutez les points de tracé en tant qu’objets enfants dans l’objet path item:
tell application "Adobe Illustrator" set docRef to make new document
-- set stroked to true so we can see the path
set lineRef to make new path item in docRef with properties {stroked:true}
--giving the direction points the same value as the
--anchor point creates a straight line segment
set newPoint to make new path point of lineRef with properties ?
{anchor:{220, 475},left direction:{220, 475},right direction:{220, 475}, point type:corner}
set newPoint2 to make new path point of lineRef with properties ?
{anchor:{375, 300},left direction:{375, 300},right direction:{375, 300}, point type:corner}
--giving the direction points the different values
--creates a curve
set newPoint3 to make new path point of lineRef with properties ?
{anchor:{220, 300},left direction:{180, 260},right direction:{240, 320}, point type:corner}
end tell
Combinaison de types de point de tracé
L’exemple de script suivant permet de créer un tracé avec trois points, en combinant la propriété du tracé entier à un objet
tell application "Adobe Illustrator" set docRef to make new document
-- set stroked to true so we can see the path
set lineRef to make new path item in docRef with properties {stroked:true} set entire path of lineRef to {{220, 475},{375, 300}} set newPoint to make new path point of lineRef with properties ?
end tell

Formes

Pour créer une forme, vous devez utiliser l’objet correspondant au nom de la forme (par exemple, ellipse,
rectangle ou polygon), puis utiliser les propriétés de l’objet pour indiquer la position de la forme, sa taille
et d’autres informations, telles que le nombre de côtés dans le cas d’un polygone.
Rappel:
X Toutes les mesures, ainsi que les coordonnées de page sont traitées par le moteur de création de
path point:
{anchor:{220, 300},left direction:{180, 260},right direction:{240, 320}, point type:corner}
scripts. Pour plus de détails, reportez-vous à la section «
Unités de mesure », page 30.
X Les coordonnés xety sont mesurées à partir de l’angle inférieur gauche du document, comme
indiqué dans le panneauInformations de l’applicationIllustrator. Pour plus de détails, reportez-vous à la section «
Positionnement et dimensions d’un élément de page », page 30.
Page 40
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Utilisation de la grille de perspective 40
Accès non réinscriptible
Les propriétés des formes d’éléments de tracés utilisent l’état d’accès non réinscriptible, ce qui indique que vous ne pouvez écrire la propriété qu’au moment de la création de l’objet. Pour les objets d’élément de tracé, les propriétés, nonmodifiables, sont en lectureseule.
Création d’un rectangle
Observez l’exemple suivant:
tell application "Adobe Illustrator" set docRef to make new document set rectRef to make new rectangle in docRef with properties ?
{bounds:{288, 360, 72, 144}}
end tell
L’exemple permet de créer un rectangle avec les propriétés suivantes:
X L’angle supérieur droit du rectangle est placé à 4pouces (288points) du bas de la page et à 5pouces
(360points) du bord gauche de la page.
X L’angle inférieur gauche du rectangle est placé à 1pouce (72points) du bord gauche de la page et à
2pouces (144points) du bas de la page.
Création d’un polygone
Observez l’exemple suivant:
tell application "Adobe Illustrator" set docRef to make new document set pathRef to make new polygon in docRef with properties ? {center point:{144, 288},sides:7,radius:72.0} end tell
L’exemple permet de créer un polygone avec les propriétés suivantes:
X Le point central de l’objet est placé à 2pouces (144points) sur l’axe horizontal et à 4pouces
(288points) sur l’axe vertical.
X Le polygone est composé de 7côtés.
X La longueur du rayon du centre à chaque coin s’élève à1pouce (72points).

Utilisation de la grille de perspective

La grille de perspective est une nouvelle fonctionnalité proposée par IllustratorCS5, qui vous permet de créer des illustrations et de les manipuler dans un environnement spatial à partir de lois de perspective établies. Pour activer la grille de perspective, ouvrez le menu Affichage et cliquez sur Grille de perspective, ou utilisez les outils de perspective disponibles dans la barre d’outils.
Le SDK fournit une interface de programmation qui permet d’utiliser la grille de perspective avec des programmes et qui est partiellement compatible avec vos scripts. Un script permet d’effectuer les opérations suivantes:
X définir les paramètres par défaut de la grille à partir de valeurs prédéfinies;
Page 41
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Utilisation de la grille de perspective 41
X
afficher ou masquer la grille;
X définir le plan actif;
X dessiner un objet en perspective sur le plan actif;
X mettre un objet en perspective.

Utilisation des paramètres de perspective prédéfinis

Illustrator fournit des paramètres prédéfinis de grille par défaut, correspondant à des perspectives à un, deux ou trois points. Ces paramètres prédéfinis s’intitulent
«[2P-NormalView]» et «[3P-NormalView]».
Le script suivant montre comment sélectionner le paramètre prédéfini de perspective à deux points par le biais d’un programme:
tell application "Adobe Illustrator"
--Create a new document set docRef to make new document tell docRef
--Select the default two-point perspective preset select perspective preset perspective preset "[2P-Normal View]"
end tell
end tell
«[1P-NormalView]»,
Vous pouvez créer de nouveaux paramètres prédéfinis de perspective, exporter ces paramètres prédéfinis vers un fichier ou les importer depuis un fichier. Les scripts suivants montrent comment exporter et importer des paramètres prédéfinis:
tell application "Adobe Illustrator"
set docRef to make new document set filePath to "Macintosh HD:scripting:PGPresetsExported" export perspective grid preset of docRef to file filePath
end tell
tell application "Adobe Illustrator"
set docRef to make new document set filePath to "Macintosh HD:scripting:PGPresets" import perspective grid preset of docRef from file filePath
end tell

Affichage ou masquage de la grille

Le script suivant permet d’afficher ou de masquer la grille de perspective par le biais d’un programme:
tell application "Adobe Illustrator"
--Create a new document set docRef to make new document tell docRef
--Display the perspective grid defined in the document show perspective grid
--Hide the perspective grid defined in the document hide perspective grid
end tell
end tell
Page 42
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Utilisation de la grille de perspective 42

Définition du plan actif

Les types de plan de la grille de perspective sont:
Plan de gauche
Plan de droite
Plan au sol
Plan incorrect
perspective grid plane leftplane
perspective grid plane rightplane
perspective grid plane floorplane
perspective grid plane noplane
Pour une grille de perspective à un point, seuls les plans de gauche et au sol sont valides.
Le script suivant permet de définir le plan de gauche comme plan de perspective actif:
tell application "Adobe Illustrator"
--Create a new document set docRef to make new document tell docRef
--Set the active plane to the left plane set perspective active plane perspective grid plane leftplane
end tell
end tell

Réalisation d’un dessin sur une grille de perspective

Lorsque la grille de perspective est activée, les différents modes de dessin vous permettent de dessiner des objets ou de les manipuler en perspective. Le script suivant permet de créer un document, d’afficher une grille de perspective à deux points et de dessiner des objets graphiques sur le plan de gauche:
tell application "Adobe Illustrator"
--Create a new document set docRef to make new document tell docRef
--Select the default two-point perspective preset select perspective preset perspective preset "[2P-Normal View]"
--Display the perspective grid defined in the document show perspective grid
--Check if active plane is set to left, otherwise set it to left if (get perspective active plane) is not leftplane then
set perspective active plane perspective grid plane leftplane
end if
--Draw rectangle in perspective, then resize to 200% and move set rectRef to make new rectangle with properties {bounds:{0, 0, 30, 30},
reversed:false}
scale rectRef horizontal scale 200 vertical scale 200 about top left with
transforming objects
translate rectRef delta x -420 delta y 480
--Draw ellipse in perspective set ellipseRef to make new ellipse with properties {bounds:{60, -60, 90, -30},
reversed:false, inscribed:true}
Page 43
CHAPITRE 4 : Création de scripts à l’aide d’AppleScript Utilisation de la grille de perspective 43
--Draw rounded rectangle in perspective set rrectRef to make new rounded rectangle with properties {bounds:{90, -90, 30,
30}, horizontal radius:10, vertical radius:10, reversed:false}
--Draw polygon in perspective set polyRef to make new polygon with properties {center point:{105, 105},
radius:15, sides:7, reversed:false}
--Draw star in perspective set starRef to make new star with properties {center point:{135, 135},
radius:15, inner radius:10, point count:6, reversed:false}
--Draw path in perspective set newPath to make new path item with properties {entire path:{{anchor:{0, 0}},
{anchor:{60, 0}}, {anchor:{30, 45}}, {anchor:{90, 110}}}}
end tell
end tell

Mise en perspective d’objets

Si un objet graphique n’est pas en perspective, utilisez la méthode bringInPerspective() pour le mettre en perspective et le placer sur un plan.
Le script suivant permet de créer un document, de dessiner un objet graphique et de le placer dans une grille de perspective à trois points:
tell application "Adobe Illustrator"
--Create a new document set docRef to make new document tell docRef
--Draw star set starRef to make new star with properties {center point:{135, 135},
radius:15, inner radius:10, point count:6, reversed:false}
--Select the default three-point perspective preset select perspective preset perspective preset "[3P-Normal View]"
--Display the perspective grid defined in the document show perspective grid
--Check if active plane is set to left, otherwise set it to left if (get perspective active plane) is not leftplane then
set perspective active plane perspective grid plane leftplane
end if
--Bring star to floor plane bring in perspective starRef position x 100 position y 100 perspective grid plane
floorplane
end tell
end tell
Page 44
5
Création de scripts à l’aide deJavaScript
Ce chapitre utilise des exemples de script, accompagnés d’explications pour vous aider à vous familiariser avec la création de scripts Illustrator à l’aidedeJavaScript.

Pour plus d’informations

Vous trouverez plusieurs exemples de scripts étendus dans le dossier /Scripting/SampleScripts du répertoire d’installation d’IllustratorCS5.
Pour plus de détails sur les classes, objets, propriétés, méthodes et paramètres individuels, ainsi que pour obtenir des exemples de scripts illustrant leur application, reportez-vous au guide Adobe Illustrator CS5 Scripting Reference: JavaScript (Référence de script AdobeIllustratorCS5: JavaScript), disponible dans le dossier consulter le dictionnaire d’Illustrator depuis l’afficheur de modèle d’objet d’ESTK. Pour plus de détails sur l’afficheur de modèle d’objet d’ExtendScript Toolkit, reportez-vous à la section «
d’objet JavaScript », page 9 ou consultez le Guide des outilsJavaScript.
Si vous ne comprenez pas les concepts et les termes utilisés dans ce chapitre, reportez-vous au document Introduction aux scripts Adobe.
/Scripting/Documentation du répertoire d’installation d’IllustratorCS5. Vous pouvez également

Votre premier script Illustrator

Affichage du modèle
Le premier projet classique abordé lors de l’apprentissage d’un nouveau langage de programmation consiste à afficher le message «HelloWorld!». Dans cet exemple, vous allez créer un documentIllustrator, puis ajouter un bloc de texte contenant ce message. Procédez comme suit:
1. Utilisez n’importe quelle application de traitement de texte (comme Adobe saisir le texte ci-dessous:
//Hello World! var myDocument = app.documents.add(); //Create a new text frame and assign it to the variable "myTextFrame" var myTextFrame = myDocument.textFrames.add(); // Set the contents and position of the text frame myTextFrame.position = [200,200]; myTextFrame.contents = "Hello World!"
Pour plus de détails sur l’emplacement d’ExtendScript Toolkit, reportez-vous à la section « Affichage
du modèle d’objet JavaScript », page 9.
2. Pour tester le script, utilisez l’une des méthodes suivantes:
X Si vous utilisez ESTK, vous devez sélectionner Adobe IllustratorCS5 dans la liste déroulante située dans
l’angle supérieur gauche, cliquer sur le boutonOui pour lancer Illustrator, puis choisir la commande Déboguer> Exécuter dans ESTK afin d’exécuter le script.
X Si vous utilisez un autre éditeur de texte, enregistrez le fichier en texte seul dans un dossier de votre
choix avec l’extension Scripts> Autrescript, puis recherchez et exécutez votre fichier de script.
.jsx, puis lancezIllustrator. Dans Illustrator, choisissez la commande Fichier>
InDesign® ou ESTK) pour
44
Page 45
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Utilisation de méthodes dans JavaScript 45
CONSEIL : pour ajouter le script au menu des scriptsIllustrator (Fichier> Scripts), vous devez l’enregistrer
dans le dossierScripts. Le script s’affichera dans le menu au prochain démarrage d’Illustrator. Pour plus de détails, reportez-vous à la section «
Installation de scripts dans le menu Scripts », page 10.
Ajout de caractéristiques à «HelloWorld»
Nous allons maintenant créer un script qui modifiera le document Illustrator créé avec votre premier script. Notre deuxième script indique comment:
X obtenir le document actif;
X obtenir la largeur du document actif;
X redimensionner le bloc de texte pour l’adapter à la largeur du document.
Si vous avez fermé le document Illustrator, réexécutez votre premier script pour créer un document avant de continuer cet exercice.
Procédez comme suit:
1. Choisissez la commande Fichier> Nouveau dans l’éditeur de texte pour créer un script.
2. Entrez le code suivant:
var docRef = app.activeDocument;
var docWidth = docRef.width
var frameRef = docRef.textFrames[0]
frameRef.width = docWidth
3. Exécutez le script.

Utilisation de méthodes dans JavaScript

Lorsque les méthodes que vous utilisez présentent plusieurs paramètres, vous pouvez ignorer les paramètres facultatifs en fin de liste, mais pas ceux qui apparaissent au milieu. Si vous ne souhaitez pas spécifier un paramètre apparaissant en milieu de liste, vous devez insérer la valeur appliquer la valeur par défaut du paramètre. Par exemple, la définition suivante décrit la méthode
rotate() pour un objet d’illustration.
rotate
(angle
[,changePositions] [,changeFillPatterns] [,changeFillGradients] [,changeStrokePattern] [,rotateAbout])
undefined pour
Dans la définition, extraite du document Adobe Illustrator CS5 Scripting Reference: JavaScript (Référence de script AdobeIllustratorCS5: JavaScript), les paramètres facultatifs figurent entre crochets(
Pour appliquer une rotation de30 degrés à l’objet et modifier le paramètre
fillGradients, vous devez
[]).
utiliser l’instruction suivante:
myObject.rotate(30, undefined, undefined, true);
Page 46
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Accès et référencement d’objets 46
Vous devez spécifier la valeurundefined pour les paramètreschangePositions etchangeFillPatterns. Vous n'avez rien à spécifier pour les deux paramètres facultatifs qui suivent le paramètre
changeFillGradients, puisqu’ils sont à la fin de la liste des paramètres.

Accès et référencement d’objets

Lors de l’écriture d’un script, vous devez d’abord indiquer le fichier, oudocument, sur lequel le script doit agir. A l’aide de l’objet agir sur un document déjà ouvert.
Le script peut créer des objets dans le document, effectuer des opérations sur des objets sélectionnés par l’utilisateur ou sur les objets d’une collection. Les sections suivantes illustrent plusieurs techniques d’accès, de référencement et de manipulation d’objetsIllustrator.

Référencement de l’objet application

Pour obtenir une référence à un objet spécifique, vous devez explorer la hiérarchie du contenu. Tous les scriptsJavaScript s’exécutent de l’intérieur de l’applicationIllustrator; toutefois, aucune référence spécifique à l’objet Illustrator à la variable
application, comme suit:
l’objet
application, le script peut créer un document, ouvrir un document existant ou
application n’est nécessaire. Par exemple, pour affecter le document actif dans
frontMostDocument, vous pouvez référencer la propriétéactiveDocument de
var frontMostDocument = activeDocument;
Il est possible d’utiliser l’objetapplication dans une référence. Pour référencer cet objetapplication, utilisez la variable globale
var frontMostDocument = activeDocument;
var frontMostDocument = app.activeDocument;
app. Les deux instructions qui suivent semblent identiques au moteurJavaScript:

Accès aux objets de collection

Tous les documents ouverts, ainsi que les objets qu’ils contiennent, sont rassemblés en objets de collection pour le type d’objet. Un objet de collection contient un tableau de données des objets auxquels vous pouvez accéder par index ou par nom. L’objet de collection prend la forme plurielle du nom de l’objet. Par exemple, l’objet de collection de l’objet
Le script d’exemple suivant permet d’obtenir tous les objets
styles, c’est-à-dire tous les styles graphiques disponibles pour le document actif:
var myStyles = app.activeDocument.graphicStyles;
Toutes les références numériques dans une collection commencent parzéro en JavaScript, c’est-à-dire que le premier objet dans la collection prend l’index[0].
En JavaScript, les numéros d’index ne changent pas lors de l’ajout d’un objet à une collection. Il existe toutefois une exception: l’objet
documents[0] correspond toujours au document actif ou de premier plan.
document devientdocuments.
graphic style de la collectiongraphic
Page 47
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Accès et référencement d’objets 47
Pour accéder au premier style d’une collectiongraphic styles, vous pouvez utiliser la variable déclarée dans le script d’exemple précédent ou bien utiliser la hiérarchie du contenu pour faire référence à la collection:
X Utilisation de la variablemyStyles:
var firstStyle = myStyles[0];
X Utilisation de la hiérarchie du contenu:
var firstStyle = app.activeDocument.graphicStyles[0];
Les instructions suivantes affectent à une variable le nom du premier style graphique de la collection. Ces instructions sont interchangeables.
var styleName = myStyles[0].name
var styleName = firstStyle.name
var styleName = app.activeDocument.graphicStyles[0].name
Pour obtenir le nombre total d’objets d’une collection, utilisez la propriétélength:
alert ( myStyles.length );
L’index du dernier style graphique de la collection estmyStyles.length-1 (-1, car le comptage de l'index commence à0, et la propriété
var lastStyle = myStyles[ myStyles.length - 1 ];
Une expression représentant la valeur de l’index figure entre crochets([]) et entre guillemets.
Si vous connaissez le nom d’un objet, vous pouvez y accéder dans les collections en utilisant le nom encadré de crochets, par exemple:
var getStyle = myStyles[?Ice Type?];
Chaque élément de la collection est un objet du type recherché et vous pouvez accéder à ses propriétés dans la collection. Par exemple, pour rechercher un nom d’objet, utilisez la propriété
var styleName = app.activeDocument.graphicStyles[0].name;
Pour appliquer le stylelastStyle au premier élémentpageItem du document, utilisez sa méthode
lastStyle.applyTo( app.activeDocument.pageItems[0] );
applyTo():

Création d’objets

Pour créer des objets, vous pouvez utiliser un script. Pour créer des objets disponibles à partir d’objets de collection ou de conteneurs, vous devez utiliser la méthode
var myDoc = app.documents.add() var myLayer = myDoc.layers.add()
length à1):
name:
add() de l’objet de conteneur:
Certains types d’objet ne sont pas disponibles dans les conteneurs. Vous pouvez créer un objet de ce type en définissant une variable, puis en appliquant l’opérateur un objet en tant que valeur. Par exemple, pour créer un objet variable
var myColor = new CMYKColor()
myColor:
new avec un constructeur d’objet pour affecter
CMYKColor à l’aide du nom de
Page 48
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Utilisation de blocs de texte 48

Utilisation de sélections

Lorsqu’un utilisateur effectue une sélection dans un document, les objets sélectionnés sont stockés dans la propriété
var selectedObjects = app.activeDocument.selection;
En fonction des types d’éléments sélectionnés, la valeur de la propriétéselection peut être un tableau de données de tout type d’objets d’illustration. Pour obtenir ou manipuler les propriétés des éléments d’illustration sélectionnés, vous devez récupérer les éléments individuels dans le tableau de données. Pour rechercher un type d’objet, utilisez la propriété
L’exemple suivant permet d’obtenir le premier objet dans le tableau de données, puis d’afficher le type d’objet:
var topObject = app.activeDocument.selection[0]; alert(topObject.typename)
Le premier objet d’un tableau de données de sélection correspond à l’objet sélectionné ajouté en dernier à la page, et non au dernier objet sélectionné.
Sélection d’objets d’illustration
selection du document. Pour accéder à tous les objets sélectionnés dans le document actif:
typename.
Pour sélectionner un objet d’illustration, utilisez la propriétéselected de l’objet.

Utilisation de blocs de texte

Pour créer un bloc de texte d’un type donné enJavaScript, vous devez utiliser la méthodetextFrames dont le nom correspond au type du bloc de texte, par exemple:
var rectRef = docRef.pathItems.rectangle(700, 50, 100, 100); //use the areaText method to create the text frame var areaTextRef = docRef.textFrames.areaText(rectRef);

Blocs liés

Tout comme dans l’application Illustrator, vous pouvez lier des blocs de texte captifs ou curvilignes.
Pour lier des blocs de texte existants, utilisez la propriété
Lors de la copie du script suivant dans ESTK, placez la valeur de la propriétécontents sur une seule ligne.
var myDoc = documents.add(); var myPathItem1 = myDoc.pathItems.rectangle(244, 64, 82, 76); var myTextFrame1 = myDoc.textFrames.areaText(myPathItem1); var myPathItem2 = myDoc.pathItems.rectangle(144, 144, 42, 116); var myTextFrame2 = myDoc.textFrames.areaText(myPathItem2);
nextFrame
ou
previousFrame
de l’objet
text frame
.
// use the nextFrame property to thread the text frames myTextFrame1.nextFrame = myTextFrame2; var sText = "This is two text frames linked together as one story, with text flowing from the first to the last. This is two text frames linked together as one story, with text flowing from the first to the last. This is two text frames linked together as one story. "; myTextFrame1.contents = sText; redraw();
Page 49
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Création de tracés et de formes 49
Création d’objet story unique à l’aide de blocs liés
Les blocs liés créent un objet story unique. Pour observer cette opération, exécutez le script JavaScript suivant après l’exécution du script à la section «
var myDoc = app.activeDocument alert("There are " + myDoc.textFrames.length + " text frames.") alert("There are " + myDoc.stories.length + " stories.")
Blocs liés », page 48.

Création de tracés et de formes

Cette section explique comment créer des éléments comportant des tracés.

Tracés

Pour créer un tracé libre, vous devez spécifier une série de points de tracé sous la forme d’une série de coordonnéesx,y ou sous la forme d’objets
Les coordonnéesx,y limitent le tracé à des segments droits. Pour créer un tracé incurvé, vous devez créer des
pathPoint. Votre tracé consiste en une combinaison de coordonnées de page et d’objetspathPoint.
objets
Spécification d’une série de coordonnéesx,y
pathPoint.
Pour spécifier un tracé à l’aide de paires de coordonnées de page, vous devez utiliser la méthode
setEntirePath() de l’objetpathItems. Le script suivant spécifie trois paires de
coordonnéesx,y permettant de créer un tracé comportant trois points:
var myDoc = app.activeDocument; var myLine = myDoc.pathItems.add(); //set stroked to true so we can see the path myLine.stroked = true; myLine.setEntirePath([[220, 475], [375, 300], [200, 300]]);
Utilisation d’objets pathPoint
Pour créer un objetpathPoint, vous devez définir trois valeurs relatives au point:
X un point anchor fixe, représentant le point sur le tracé;
X deux points directeurs, left direction et right direction, qui vous permettent de contrôler la
courbure du segment de tracé.
Vous définissez chaque propriété en tant que tableau de données de coordonnées de page au format[x,y].
X Si les trois propriétés d’un objet pathPoint présentent des coordonnées identiques et que les
propriétés de l’objet de ligne droite.
X Si plusieurs propriétés d’un objet pathPoint présentent des valeurs différentes, le segment relié au
point est incurvé.
pathPoint suivant sur la ligne sont égales entreelles, vous obtenez un segment
Pour créer un tracé ou ajouter des points à un tracé existant à l’aide d’objets
pathItem, puis ajoutez les points de tracé en tant qu’objets enfants dans l’objetpathItem:
objet
var myDoc = app.activeDocument; var myLine = myDoc.pathItems.add();
//set stroked to true so we can see the path myLine.stroked = true;
pathPoint, créez un
Page 50
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Création de tracés et de formes 50
var newPoint = myLine.pathPoints.add();
newPoint.anchor = [220, 475]; //giving the direction points the same value as the //anchor point creates a straight line segment newPoint.leftDirection = newPoint.anchor; newPoint.rightDirection = newPoint.anchor; newPoint.pointType = PointType.CORNER;
var newPoint1 = myLine.pathPoints.add();
newPoint1.anchor = [375, 300]; newPoint1.leftDirection = newPoint1.anchor; newPoint1.rightDirection = newPoint1.anchor; newPoint1.pointType = PointType.CORNER;
var newPoint2 = myLine.pathPoints.add();
newPoint2.anchor = [220, 300]; //giving the direction points different values //than the anchor point creates a curve newPoint2.leftDirection =[180, 260]; newPoint2.rightDirection = [240, 320]; newPoint2.pointType = PointType.CORNER;
Combinaison de types de point de tracé
L’exemple suivant permet de créer un tracé avec trois points:
var myDoc = app.activeDocument; var myLine = myDoc.pathItems.add();
// Append another point to the line var newPoint = myDoc.myLine.pathPoints.add();

Formes

Pour créer une forme, vous devez utiliser la méthodepathItems correspondant au nom de la forme (parexemple, de la forme, la taille et d’autres informations, telles que le nombre de côtés dans un polygone.
Rappel:
X Toutes les mesures, ainsi que les coordonnées de page sont traitées comme des points par le moteur
X Les coordonnés xety sont mesurées à partir de l’angle inférieur gauche du document, comme
myLine.stroked = true; myLine.setEntirePath( [[220, 475], [375, 300]]);
newPoint.anchor = [220, 300]; newPoint.leftDirection = newPoint.anchor; newPoint.rightDirection = newPoint.anchor; newPoint.pointType = PointType.CORNER;
ellipse, rectangle ou polygon), puis utiliser les paramètres pour indiquer la position
de création de scripts. Pour plus de détails, reportez-vous à la section «
Unités de mesure », page 30.
indiqué dans le panneauInformations de l’applicationIllustrator. Pour plus de détails, reportez-vous à la section «
Positionnement et dimensions d’un élément de page », page 30.
Page 51
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Utilisation de la grille de perspective 51
Création d’un rectangle
Observez l’exemple suivant:
var myDocument = app.documents.add() var artLayer = myDocument.layers.add() var rect = artLayer.pathItems.rectangle( 144, 144, 72, 216 );
L’exemple utilise la méthoderectangle() de l’objetpathItems pour créer un rectangle avec les propriétés suivantes:
X L’angle supérieur du rectangle est à 2pouces (144points) du bord inférieur de la page.
X Le bord gauche est à 2pouces (144points) du bord gauche de la page.
X Le rectangle mesure 1pouce (72points) de large sur 3pouces (216points) de long.
Création d’un polygone
Observez l’exemple suivant:
var myDocument = app.documents.add() var artLayer = myDocument.layers.add() var poly = artLayer.pathItems.polygon( 144, 288, 72.0, 7 );
L’exemple utilise la méthodepolygon() pour créer un polygone avec les propriétés suivantes:
X Le point central de l’objet est placé à 2pouces (144points) sur l’axe horizontal et à 4pouces
(288points) sur l’axe vertical.
X La longueur du rayon du centre à chaque coin s’élève à1pouce (72points).
X Le polygone est composé de 7côtés.

Utilisation de la grille de perspective

La grille de perspective est une nouvelle fonctionnalité proposée par IllustratorCS5, qui vous permet de créer des illustrations et de les manipuler dans un environnement spatial à partir de lois de perspective établies. Pour activer la grille de perspective, ouvrez le menu Affichage et cliquez sur Grille de perspective, ou utilisez les outils de perspective disponibles dans la barre d’outils.
Le SDK fournit une interface de programmation qui permet d’utiliser la grille de perspective avec des programmes et qui est partiellement compatible avec vos scripts. Un script permet d’effectuer les opérations suivantes:
X définir les paramètres par défaut de la grille à partir de valeurs prédéfinies;
X afficher ou masquer la grille;
X définir le plan actif;
X dessiner un objet en perspective sur le plan actif;
X mettre un objet en perspective.
Page 52
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Utilisation de la grille de perspective 52

Utilisation des paramètres de perspective prédéfinis

Illustrator fournit des paramètres prédéfinis de grille par défaut, correspondant à des perspectives à un, deux ou trois points. Ces paramètres prédéfinis s’intitulent
«[2P-NormalView]» et «[3P-NormalView]».
Le script suivant montre comment sélectionner un paramètre prédéfini par le biais d’un programme:
//Set the default one-point perspective preset app.activeDocument.selectPerspectivePreset("[1P-Normal View]");
//Set the default two-point perspective preset app.activeDocument.selectPerspectivePreset("[2P-Normal View]");
//Set the default three-point perspective preset app.activeDocument.selectPerspectivePreset("[3P-Normal View]");
Vous pouvez créer de nouveaux paramètres prédéfinis de perspective, exporter ces paramètres prédéfinis vers un fichier ou les importer depuis un fichier. Les scripts suivants montrent comment exporter et importer des paramètres prédéfinis:
//Create a new document var mydoc = app.documents.add(); //Export perspective presets to a file var exportPresetFile = new File("C:/scripting/PGPresetsExported") mydoc.exportPerspectiveGridPreset(exportPresetFile);
«[1P-NormalView]»,
//Create a new document var mydoc = app.documents.add(); //Import perspective presets from a file var importPresetFile = new File("C:/scripting/PGPresets") mydoc.importPerspectiveGridPreset(importPresetFile);

Affichage ou masquage de la grille

Le script suivant permet d’afficher ou de masquer la grille de perspective par le biais d’un programme:
//Show the Perspective Grid defined in the document app.activeDocument.showPerspectiveGrid();
//Hide the Perspective Grid defined in the document mydoc.hidePerspectiveGrid();

Définition du plan actif

Les types de plan de la grille de perspective sont:
Plan de gauche
Plan de droite
Plan au sol
PerspectiveGridPlaneType.LEFTPLANE
PerspectiveGridPlaneType.RIGHTPLANE
PerspectiveGridPlaneType.FLOORPLANE
Plan incorrect
PerspectiveGridPlaneType.NOPLANE
Pour une grille de perspective à un point, seuls les plans de gauche et au sol sont valides.
Page 53
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Utilisation de la grille de perspective 53
Le script suivant permet de définir le plan de perspective actif:
//Set left plane as the active plane app.activeDocument.setPerspectiveActivePlane(PerspectiveGridPlaneType.LEFTPLANE);
//Set right plane as the active plane app.activeDocument.setPerspectiveActivePlane(PerspectiveGridPlaneType.RIGHTPLANE);
//Set floor plane as the active plane app.activeDocument.setPerspectiveActivePlane(PerspectiveGridPlaneType.FLOORPLANE);

Réalisation d’un dessin sur une grille de perspective

Lorsque la grille de perspective est activée, les différents modes de dessin vous permettent de dessiner des objets ou de les manipuler en perspective. Le script suivant permet de créer un document, d’afficher une grille de perspective à deux points et de dessiner des objets graphiques sur le plan de gauche:
//Create a new document var mydoc = app.documents.add();
//Select the default two-point perspective preset mydoc.selectPerspectivePreset("[2P-Normal View]");
//Display the perspective grid defined in the document mydoc.showPerspectiveGrid();
//Check if active plane is set to left; if not, set it to left if (mydoc.getPerspectiveActivePlane() != PerspectiveGridPlaneType.LEFTPLANE) { mydoc.setPerspectiveActivePlane(PerspectiveGridPlaneType.LEFTPLANE); }
//Draw rectangle in perspective, then resize to 200% and move var myrect = mydoc.pathItems.rectangle(30, -30, 30, 30, false); myrect.resize(200, 200, true, false, false, false, 100, Transformation.TOPLEFT); myrect.translate (-420, 480);
//Draw ellipse in perspective var myellipse = mydoc.pathItems.ellipse(60, -60, 30, 30, false, true);
//Draw rounded rectangle in perspective var myrrect = mydoc.pathItems.roundedRectangle(90, -90, 30, 30, 10, 10, false);
//Draw polygon in perspective var mypoly = mydoc.pathItems.polygon(-105, 105, 15, 7, false);
//Draw star in perspective var mystar = mydoc.pathItems.star(-135, 135, 15, 10, 6, false);
//Draw path in perspective var newPath = mydoc.pathItems.add(); var lineList = new Array(4); lineList[0] = new Array(0,0); lineList[1] = new Array(60,0); lineList[2] = new Array(30,45); lineList[3] = new Array(90,110); newPath.setEntirePath(lineList);
Page 54
CHAPITRE 5 : Création de scripts à l’aide deJavaScript Utilisation de la grille de perspective 54

Mise en perspective d’objets

Si un objet graphique n’est pas en perspective, utilisez la méthode bringInPerspective() pour le mettre en perspective et le placer sur un plan.
Le script suivant permet de créer un document, de dessiner des objets graphiques et de les placer dans une grille de perspective à trois points:
//Create a new document var mydoc = app.documents.add();
//Draw ellipse var myellipse = mydoc.pathItems.ellipse(60, -60, 30, 30, false, true);
//Draw polygon var mypoly = mydoc.pathItems.polygon(-105, 105, 15, 7, false);
//Draw star var mystar = mydoc.pathItems.star(-135, 135, 15, 10, 6, false);
//Select the default three-point perspective preset mydoc.selectPerspectivePreset("[3P-Normal View]");
//Display the perspective grid defined in the document mydoc.showPerspectiveGrid();
//Check if active plane is set to left; if not, set it to left if (mydoc.getPerspectiveActivePlane() != PerspectiveGridPlaneType.LEFTPLANE) { mydoc.setPerspectiveActivePlane(PerspectiveGridPlaneType.LEFTPLANE); }
//Bring the ellipse to the active plane (left plane) myellipse.bringInPerspective(-100,-100, PerspectiveGridPlaneType.LEFTPLANE);
//Bring the polygon to the right plane mypoly.bringInPerspective(100,-100,PerspectiveGridPlaneType.RIGHTPLANE);
//Bring the star to the floor plane mystar.bringInPerspective(100,100,PerspectiveGridPlaneType.FLOORPLANE);
Page 55
6
Création de scripts à l’aide deVBScript
Ce chapitre utilise des exemples de script, accompagnés d’explications pour vous aider à vous familiariser avec la création de scripts Illustrator à l’aidedeVBScript.

Pour plus d’informations

Vous trouverez plusieurs exemples de scripts étendus dans le dossier /Scripting/Sample Scripts du répertoire d’installation d’IllustratorCS5.
Pour plus de détails sur les classes, objets, propriétés, méthodes et paramètres individuels, ainsi que pour obtenir des exemples de scripts illustrant leur application, reportez-vous au guide Adobe Illustrator CS Scripting Reference: VBScript (Référence de script Adobe IllustratorCS: VBScript), disponible dans le dossier
/Scripting/Documentation du répertoire d’installation d’IllustratorCS5. Vous pouvez également
consulter la bibliothèque de types d’IllustratorCS5 depuis la plupart des éditeurs VBScript ou de n’importe quelle application Microsoft Office; voir «
Si vous ne comprenez pas les concepts et les termes utilisés dans ce chapitre, reportez-vous au document Introduction aux scripts Adobe.
Affichage du modèle d’objet VBScript », page 10.

Votre premier script Illustrator

Le premier projet classique abordé lors de l’apprentissage d’un nouveau langage de programmation consiste à afficher le message «HelloWorld!». Procédez comme suit:
1. Lancez une application de traitement de texte (par exemple, Bloc-notes).
2. Entrez le code suivant:
Rem Hello World Set appRef = CreateObject("Illustrator.Application") Rem Create a new document and assign it to a variable Set documentRef = appRef.Documents.Add Rem Create a new text frame item and assign it to a variable Set sampleText = documentRef.TextFrames.Add Rem Set the contents and position of the TextFrame sampleText.Position = Array(200, 200) sampleText.Contents = "Hello World!"
3. Enregistrez le fichier en texte seul dans le dossier de votre choix, avec l’extension.vbs.
4. Pour tester le script, utilisez l’une des méthodes suivantes:
X Cliquez deux fois sur le fichier.
X Lancez l’application Illustrator, choisissez la commande Fichier> Scripts> Autrescript, puis
recherchez et exécutez votre fichier de script.
ONSEIL : pour ajouter le script au menu des scriptsIllustrator (Fichier> Scripts), vous devez l’enregistrer
C
dans le dossierScripts. Le script s’affichera dans le menu au prochain démarrage d’Illustrator. Pour plus de détails, reportez-vous à la section « lorsque vous lancez un script VBScript à partir du menu Scripts, les boîtes de dialogue s’affichent pas correctement.
Installation de scripts dans le menu Scripts », page 10. En général,
msgBox ne
55
Page 56
CHAPITRE 6 : Création de scripts à l’aide deVBScript Accès et référencement d’objets 56
Ajout de caractéristiques à «HelloWorld»
Nous allons maintenant créer un script qui modifiera le document Illustrator créé avec votre premier script. Pour ce deuxième script, vous allez apprendre à:
X obtenir le document actif;
X obtenir la largeur du document actif;
X redimensionner le bloc de texte pour l’adapter à la largeur du document.
Si vous n’avez pas enregistré le document Illustrator avant de le fermer, exécutez votre premier script une nouvelle fois pour créer un document.
Procédez comme suit:
1. Copiez le script suivant dans votre éditeur de texte, puis enregistrez le fichier.
Set appRef = CreateObject("Illustrator.Application") 'Get the active document Set documentRef = appRef.ActiveDocument Set sampleText = documentRef.TextFrames(1) ' Resize the TextFrame item to match the document width sampleText.Width = documentRef.Width sampleText.Left = 0
2. Exécutez le script.

Accès et référencement d’objets

Lors de l’écriture d’un script, vous devez d’abord indiquer le fichier, ou Document, sur lequel le script doit agir. A l’aide de l’objet agir sur un document déjà ouvert.
Le script peut créer des objets dans le document, effectuer des opérations sur des objets sélectionnés par l’utilisateur ou sur les objets d’une collection. Les sections suivantes illustrent des techniques d’accès, de référencement et de manipulation d’objetsIllustrator.

Obtention d’objets de collection

En général, pour obtenir une référence à un objet spécifique, vous pouvez explorer la hiérarchie du contenu. Par exemple, pour utiliser la variable élément
Set myPath = appRef.ActiveDocument.Layers(2).PathItems(1)
Les scripts suivants montrent comment référencer un objet en tant que partie d’un document:
Set documentRef = appRef.ActiveDocument
PathItem dans le second calque du document actif:
Application, le script peut créer un document, ouvrir un document existant ou
myPath afin de stocker une référence vers le premier
Set pageItemRef = documentRef.PageItems(1)
Page 57
CHAPITRE 6 : Création de scripts à l’aide deVBScript Accès et référencement d’objets 57
Dans le script suivant, la variable pageItemRef ne fait pas nécessairement référence au même objet que le script précédent, car ce script inclut une référence à un calque:
Set documentRef = appRef.ActiveDocument Set pageItemRef = documentRef.Layers(1).PageItems(1)
Les index VBScript commencent par1 dans les collections d’objets. Toutefois, VBScript vous permet de spécifier si les index de tableaux de données commencent par1 ou par0. Pour plus de détails sur la spécification du numéro de départ des index de tableaux de données, reportez-vous aux documents ou didacticiels deVBScript.

Création d’objets

Pour créer des objets, vous pouvez utiliser un script. Pour créer des objets disponibles à partir d’objets de collection, utilisez la méthode
Set myDoc = appRef.Documents.Add()
Set myLayer = myDoc.Layers.Add()
Certains objets de collection ne disposent pas d’une méthode Add. Pour créer un objet de ce type, définissez une variable et appliquez la méthode
CMYKColor avec le nom de variable newColor:
Add de l’objet de collection:
CreateObject. Par exemple, le code suivant crée un objet
Set newColor = CreateObject ("Illustrator.CMYKColor")

Utilisation de sélections

Lorsque l’utilisateur effectue une sélection dans un document, les objets sélectionnés sont stockés dans la propriété document actif:
Set appRef = CreateObject ("Illustrator.Application") Set documentRef = appRef.ActiveDocument selectedObjects = documentRef.Selection
En fonction des éléments sélectionnés, la valeur de la propriété selection peut être un tableau de tout type d’objets d’illustration. Pour obtenir ou manipuler les propriétés des éléments d’illustration sélectionnés, vous devez récupérer les éléments individuels dans le tableau de données. Pour connaître le type d’un objet, utilisez la propriété
L’exemple suivant permet d’obtenir le premier objet dans le tableau de données, puis d’afficher le type d’objet:
Set appRef = CreateObject ("Illustrator.Application") Set documentRef = appRef.ActiveDocument selectedObjects = documentRef.Selection Set topObject = selectedObjects(0) MsgBox(topObject.Typename)
selection du document en question. Pour accéder à tous les objets sélectionnés dans le
typename.
La méthode MsgBox n’affiche pas de boîte de dialogue lorsque le script est exécuté à partir du menu Scripts d’Illustrator (Fichier> Scripts).
Le premier objet d’un tableau de données de sélection correspond à l’objet sélectionné ajouté en dernier à la page, et non au dernier objet sélectionné.
Page 58
CHAPITRE 6 : Création de scripts à l’aide deVBScript Utilisation de blocs de texte 58
Sélection d’objets d’illustration
Pour sélectionner un objet d’illustration, utilisez la propriété Selected de l’objet en question.

Utilisation de blocs de texte

Pour créer un bloc de texte d’un type donné sous VBScript, utilisez la méthode TextFrames correspondant au type de bloc souhaité:
Set rectRef = docRef.PathItems.Rectangle(700, 50, 100, 100)
' Use the AreaText method to create the text frame Set areaTextRef = docRef.TextFrames.AreaText(rectRef)

Blocs liés

Tout comme dans l’application Illustrator, vous pouvez lier des blocs de texte captifs ou curvilignes.
Pour lier des blocs de texte existants, utilisez la propriété
TextFrames.
NextFrame ou PreviousFrame de l’objet
Lorsque vous copiez le script suivant dans un éditeur de texte ou de scripts, placez la valeur de la propriété
Contents sur une seule ligne. Le caractère de ligne longue(_) n’est pas valide dans le cadre d’une chaîne.
Set appRef = CreateObject("Illustrator.Application") Set myDoc = appRef.Documents.Add Set myPathItem1 = myDoc.PathItems.Rectangle(244, 64, 82, 76) Set myTextFrame1 = myDoc.TextFrames.AreaText(myPathItem1)
myTextFrame1.Contents = "This is two text frames linked together as one story, with
text flowing from the first to the last." Set myPathItem2 = myDoc.PathItems.Rectangle(144, 144, 42, 116) Set myTextFrame2 = myDoc.TextFrames.AreaText(myPathItem2)
'Use the NextFrame property to thread the frames myTextFrame1.NextFrame = myTextFrame2
appRef.Redraw()
Création d’objet d’article unique à l’aide de blocs liés
Les blocs liés créent un objet story unique. Pour observer cette opération, exécutez le script VBScript suivant après l’exécution du script à la section «
Set myDoc = appRef.ActiveDocument myMsg = "alert(""There are " & CStr(myDoc.TextFrames.Count) & " text frames. "")" appRef.DoJavaScript myMsg myMsg = "alert(""There are " & CStr(myDoc.Stories.Count) & " storiess. "")" appRef.DoJavaScript myMsg
Blocs liés », page 58.

Création de tracés et de formes

Cette section explique comment créer des éléments comportant des tracés.
Page 59
CHAPITRE 6 : Création de scripts à l’aide deVBScript Création de tracés et de formes 59

Tracés

Pour créer un tracé libre, spécifiez une série de points de tracé sous la forme d’une série de coordonnées x-y ou d’objets
Les coordonnées x-y limitent le tracé à des segments droits. Pour créer un tracé incurvé, vous devez créer des objets
PathPoint.
Spécification d’une série de coordonnéesx-y
Pour spécifier un tracé à l’aide de paires de coordonnées de page, utilisez la méthode SetEntirePath() de l’objet tracé comportant trois points:
Set appRef = CreateObject ("Illustrator.Application")
Set firstPath = appRef.ActiveDocument.PathItems.Add
firstPath.Stroked = True
firstPath.SetEntirePath(Array(Array(220, 475),Array(375, 300),Array(200, 300)))
PathPoint.
PathPoint. Le tracé peut consister en une combinaison de coordonnées de page et d’objets
PathItems. Le script suivant spécifie trois paires de coordonnées x-y permettant de créer un
Utilisation d’objets PathPoint
Pour créer un objet PathPoint, vous devez définir trois valeurs relatives au point:
X un point anchor fixe, représentant le point sur le tracé;
X deux points directeurs, left direction et right direction, qui vous permettent de contrôler la
courbure du segment de tracé.
Vous définissez chaque propriété en tant que tableau de coordonnées de page au format
X Si les trois propriétés d’un objet PathPoint ont les mêmes coordonnées et que les propriétés de
PathPoint suivant sur la ligne sont égales les unes aux autres, vous obtenez un segment de
l’objet ligne droite.
X Si plusieurs propriétés d’un objet PathPoint présentent des valeurs différentes, le segment relié au
point est incurvé.
Pour créer un tracé ou ajouter des points à un tracé existant à l’aide d’objets
PathItem, puis ajoutez les points de tracé en tant qu’objets enfants dans l’objet PathItem:
Set appRef = CreateObject ("Illustrator.Application")
Set firstPath = appRef.ActiveDocument.PathItems.Add
firstPath.Stroked = true
Set newPoint = firstPath.PathPoints.Add 'Using identical coordinates creates a straight segment newPoint.Anchor = Array(75, 300) newPoint.LeftDirection = Array(75, 300) newPoint.RightDirection = Array(75, 300)
PathPoint, créez un objet
(Array (x,y)).
Set newPoint2 = firstPath.PathPoints.Add newPoint2.Anchor = Array(175, 250) newPoint2.LeftDirection = Array(175, 250) newPoint2.RightDirection = Array(175, 250)
Page 60
CHAPITRE 6 : Création de scripts à l’aide deVBScript Création de tracés et de formes 60
Set newPoint3 = firstPath.PathPoints.Add 'Using different coordinates creates a curve newPoint3.Anchor = Array(275, 290) newPoint3.LeftDirection = Array(135, 150) newPoint3.RightDirection = Array(155, 150)
Combinaison de types de point de tracé
L’exemple suivant permet de créer un tracé avec trois points:
Set appRef = CreateObject("Illustrator.Application") Set myDoc = appRef.ActiveDocument Set myLine = myDoc.PathItems.Add
myLine.Stroked = True myLine.SetEntirePath( Array( Array(320, 475), Array(375, 300)))
' Append another point to the line Set newPoint = myLine.PathPoints.Add
'Using identical coordinates creates a straight segment newPoint.Anchor = Array(220, 300) newPoint.LeftDirection = Array(220, 300) newPoint.RightDirection = Array(220, 300)

Formes

Pour créer une forme, utilisez la méthode PathItems correspondant au nom de la forme (par exemple,
ellipse, rectangle ou polygon), puis utilisez les paramètres pour indiquer la position de la forme,
sa taille et d’autres caractéristiques, telles que le nombre de côtés dans le cas d’un polygone.
Rappel:
X Toutes les mesures, ainsi que les coordonnées de page sont traitées par le moteur de création de
X Les coordonnés xety sont mesurées à partir de l’angle inférieur gauche du document, comme
Création d’un rectangle
Observez l’exemple suivant:
Set appRef = CreateObject("Illustrator.Application") Set frontDocument = appRef.ActiveDocument ' Create a new rectangle with ' top = 144, left side = 144, width = 72, height = 144 Set newRectangle = frontDocument.PathItems.Rectangle(144,144,72,144)
scripts. Pour plus de détails, reportez-vous à la section «
Unités de mesure », page 30.
indiqué dans le panneauInformations de l’applicationIllustrator. Pour plus de détails, reportez-vous à la section «
Positionnement et dimensions d’un élément de page », page 30.
L’exemple permet de créer un rectangle avec les propriétés suivantes:
X L’angle supérieur du rectangle est à 2pouces (144points) du bord inférieur de la page.
X Le bord gauche est à 2pouces (144points) du bord gauche de la page.
X Le rectangle mesure 1pouce (72points) de large sur 2pouces (144points) de long.
Page 61
CHAPITRE 6 : Création de scripts à l’aide deVBScript Utilisation de valeurs d’énumération 61
Création d’un polygone
Observez l’exemple suivant:
Set appRef = CreateObject("Illustrator.Application") Set frontDocument = appRef.ActiveDocument ' Create a new polygon with ' top = 144, left side = 288, width = 72, height = 144 Set newPolygon = frontDocument.PathItems.Polygon(144,288,72,7)
L’exemple permet de créer un polygone avec les propriétés suivantes:
X Le point central de l’objet est placé à 2pouces (144points) sur l’axe horizontal et à 4pouces
(288points) sur l’axe vertical.
X La longueur du rayon du centre à chaque coin s’élève à1pouce (72points).
X Le polygone est composé de 7côtés.

Utilisation de valeurs d’énumération

Les propriétés utilisant des valeurs d’énumération en VBScript font appel à une valeur sous forme numérique à la place d’une valeur sous forme de texte. Par exemple, la propriété
TextFrame détermine si le contenu textuel d’un bloc de texte est horizontal ou vertical. La propriété utilise
l’énumération
aiTextOrientation, qui a deux valeurs possibles, à savoir aiHorizontal et aiVertical.
Orientation de l’objet
Pour rechercher les valeurs numériques des énumérations, utilisez l’une des méthodes suivantes:
X l’explorateur d’objets dans l’environnement de votre éditeur de scripts (voir la section « Affichage du
modèle d’objet VBScript », page 10);
X le guide Adobe Illustrator CS5 Scripting Reference: VBScript (Référence de script Adobe IllustratorCS5:
VBScript), qui répertorie les valeurs numériques immédiatement à la suite des valeurs constantes dans le chapitre traitant des énumérations à la fin du manuel. L’exemple suivant est extrait de ce document:
Type d’énumeration Valeurs Signification
AiTextOrientation aiHorizontal = 0
aiVertical = 1
Orientation du texte dans un bloc de texte
L’exemple suivant spécifie une orientation verticale du texte:
Set appRef = CreateObject ("Illustrator.Application") Set docRef = appRef.Documents.Add Set textRef = docRef.TextFrames.Add textRef.Contents = "This is some text content." textRef.Left = 50 textRef.Top = 700 textRef.Orientation = 1
En général, une bonne méthode de travail consiste à placer la valeur de texte dans un commentaire à la suite de la valeur numérique, comme dans l’instruction d’exemple suivante:
textRef.Orientation = 1 ' aiVertical
Page 62
CHAPITRE 6 : Création de scripts à l’aide deVBScript Utilisation de la grille de perspective 62

Utilisation de la grille de perspective

La grille de perspective est une nouvelle fonctionnalité proposée par IllustratorCS5, qui vous permet de créer des illustrations et de les manipuler dans un environnement spatial à partir de lois de perspective établies. Pour activer la grille de perspective, ouvrez le menu Affichage et cliquez sur Grille de perspective, ou utilisez les outils de perspective disponibles dans la barre d’outils.
Le SDK fournit une interface de programmation qui permet d’utiliser la grille de perspective avec des programmes et qui est partiellement compatible avec vos scripts. Un script permet d’effectuer les opérations suivantes:
X définir les paramètres par défaut de la grille à partir de valeurs prédéfinies;
X afficher ou masquer la grille;
X définir le plan actif;
X dessiner un objet en perspective sur le plan actif;
X mettre un objet en perspective.

Utilisation des paramètres de perspective prédéfinis

Illustrator fournit des paramètres prédéfinis de grille par défaut, correspondant à des perspectives à un, deux ou trois points. Ces paramètres prédéfinis s’intitulent
«[2P-NormalView]» et «[3P-NormalView]».
«[1P-NormalView]»,
Le script suivant montre comment sélectionner le paramètre prédéfini de perspective à deux points par le biais d’un programme:
Set appRef = CreateObject ("Illustrator.Application")
Rem Create a new document Set docRef = appRef.Documents.Add()
Rem Select the default two-point perspective preset docRef.SelectPerspectivePreset("[2P-Normal View]")
Vous pouvez créer de nouveaux paramètres prédéfinis de perspective, exporter ces paramètres prédéfinis vers un fichier ou les importer depuis un fichier. Les scripts suivants montrent comment exporter et importer des paramètres prédéfinis:
Set appRef = CreateObject ("Illustrator.Application") Rem Create a new document Set docRef = appRef.Documents.Add() Rem Export perspective presets to a file docRef.ExportPerspectiveGridPreset("C:/scripting/PGPresetsExported")
Set appRef = CreateObject ("Illustrator.Application") Rem Create a new document Set docRef = appRef.Documents.Add() Rem Import perspective presets from a file docRef.ImportPerspectiveGridPreset("C:/scripting/PGPresets")

Affichage ou masquage de la grille

Le script suivant permet d’afficher ou de masquer la grille de perspective par le biais d’un programme:
Set appRef = CreateObject ("Illustrator.Application")
Page 63
CHAPITRE 6 : Création de scripts à l’aide deVBScript Utilisation de la grille de perspective 63
Rem Create a new document Set docRef = appRef.Documents.Add()
Rem Show the Perspective Grid defined in the document docRef.ShowPerspectiveGrid();
Rem Hide the Perspective Grid defined in the document docRef.HidePerspectiveGrid();

Définition du plan actif

Les types de plan de la grille de perspective sont:
Plan de gauche
Plan de droite
Plan au sol
Plan incorrect
aiLEFTPLANE (1)
aiRIGHTPLANE (2)
aiFLOORPLANE (3)
aiNOPLANE (4)
Pour une grille de perspective à un point, seuls les plans de gauche et au sol sont valides.
Le script suivant permet de définir le plan de gauche comme plan de perspective actif:
Set appRef = CreateObject ("Illustrator.Application")
Rem Create a new document Set docRef = appRef.Documents.Add()
Rem Set left plane as the active plane docRef.SetPerspectiveActivePlane(1) 'aiLEFTPLANE

Réalisation d’un dessin sur une grille de perspective

Lorsque la grille de perspective est activée, les différents modes de dessin vous permettent de dessiner des objets ou de les manipuler en perspective. Le script suivant permet de créer un document, d’afficher une grille de perspective à deux points et de dessiner des objets graphiques sur le plan de gauche:
Set appRef = CreateObject ("Illustrator.Application")
Rem Create a new document Set docRef = appRef.Documents.Add()
Rem Select the default two point perspective preset docRef.SelectPerspectivePreset("[2P-Normal View]")
Rem Display the perspective grid defined in the document docRef.ShowPerspectiveGrid()
Rem Check if active plane is set to left, otherwise set it to left If docRef.GetPerspectiveActivePlane() <> 1 Then docRef.SetPerspectiveActivePlane(1) 'aiLEFTPLANE End If
Rem Draw rectangle in perspective, then resize to 200% and move Set pathItemRect = docRef.PathItems.Rectangle(30, -30, 30, 30, False)
Page 64
CHAPITRE 6 : Création de scripts à l’aide deVBScript Utilisation de la grille de perspective 64
call pathItemRect.Resize(200, 200, True, False, False, False, 100, 2) call pathItemRect.Translate(-420, 480)
Rem Draw ellipse in perspective Set pathItemEllipse = docRef.PathItems.Ellipse(60, -60, 30, 30, False, True)
Rem Draw rounded rectangle in perspective Set pathItemRRect = docRef.PathItems.RoundedRectangle(90, -90, 30, 30, 10, 10, False)
Rem Draw polygon in perspective Set pathItemPoly = docRef.PathItems.Polygon(-105, 105, 15, 7, False)
Rem Draw star in perspective Set pathItemStar = docRef.PathItems.Star(-135, 135, 15, 10, 6, False)
Rem Draw path in perspective Set newPath = docRef.PathItems.Add() newPath.SetEntirePath(Array(Array(0,0),Array(60,0),Array(30,45),Array(90,110)))

Mise en perspective d’objets

Si un objet graphique n’est pas perspective, utilisez la méthode bringInPerspective() pour le mettre en perspective et le placer sur un plan.
Le script suivant permet de créer un document, de dessiner des objets graphiques et de les placer dans une grille de perspective à trois points:
Set appRef = CreateObject ("Illustrator.Application")
Rem Create a new document Set docRef = appRef.Documents.Add()
Rem Draw ellipse Set pathItemEllipse = docRef.PathItems.Ellipse(60, -60, 30, 30, False, True)
Rem Draw polygon Set pathItemPoly = docRef.PathItems.Polygon(-105, 105, 15, 7, False)
Rem Draw star Set pathItemStar = docRef.PathItems.Star(-135, 135, 15, 10, 6, False)
Rem Select the default three-point perspective preset docRef.SelectPerspectivePreset("[3P-Normal View]")
Rem Display the perspective grid defined in the document docRef.ShowPerspectiveGrid()
Rem Check if active plane is set to left, otherwise set it to left If docRef.GetPerspectiveActivePlane() <> 1 Then docRef.SetPerspectiveActivePlane(1) 'aiLEFTPLANE End If
Rem Bring the ellipse to the active plane (left plane) Call pathItemEllipse.BringInPerspective(100,100, 1) 'aiLEFTPLANE
Rem Bring the polygon to the right plane Call pathItemPoly.BringInPerspective(100,-100,2) 'aiRIGHTPLANE
Page 65
CHAPITRE 6 : Création de scripts à l’aide deVBScript Utilisation de la grille de perspective 65
Rem Bring the star to the floor plane Call pathItemStar.BringInPerspective(100,100,3) 'aiFLOORPLANE
Page 66

Index

A
actions
à propos de, 6
Adobe Illustrator
Plug-in Software Development Kit Function
Reference, 32
AppleScript
conventions d’attribution de nom, 19 dictionnaire, 9 extensions de fichier, 7
application de styles, à propos de, 24 articles, à propos de, 22 attributs locaux, 24 attributs, à propos de, 24 axe horizontal (x), 30 axe vertical (y), 30
B
blocs de texte, 22 boîtes de dialogue
activation, 32 suppression, 32
C
centimètres, conversion, 30 classe de matrice, 25 coordonnées, à propos de, 30 CS2, modifications de la version, 16
D
dimensions, éléments de page, 30 documents
impression, 33 positionnement des éléments de page, 30
E
exemples de scripts
création d’objets, 47, 57 création d’un polygone, 40, 51, 61 création d’un rectangle, 40, 51, 60 création d’un tracé, 38, 49, 59 création d’un tracé incurvé, 38, 49, 59
sélections, 57 ExtendScript, extension de fichier, 7 extensions de fichiers pour scripts valides, 7
F
fermeture d’Illustrator, 26
H
hauteur, valeur maximale autorisée, 30 « Hello World », script
amélioration, 35, 45, 56
création, 34, 44, 55
I
Illustrator
fermeture, 26
lancement, 26
spécification d’une version, 26 Illustrator. Voir Adobe Illustrator impression
à propos de, 22
définition des options, 33 installation de scripts, 10
J
JavaScript
afficheur de modèle d’objet, 9
conventions d’attribution de nom, 19
extension de fichier, 7
modifications d’Illustrator CS2, 16
éléments de page
limites, 31 positionnement, 30
positionnement et dimensions, 30 ensembles de données, utilisation, 25 exécution de scripts, 10, 11
K
kit de développement logiciel, 32
66
Page 67
Index 67
L
lancement d’Illustrator, 26 largeur, valeur maximale autorisée, 30 lignes, création, 23 limites de contrôles, 31 limites géométriques, 31 limites visibles, 31
M
matrices de transformation, à propos de, 25 matrices, à propos de, 25 méthodes, utilisation, 45 millimètres, conversion, 30 modèle d’objet
diagramme, 18
texte, 22 modèle d’objets
modifications d’Illustrator CS2, 16
N
niveaux d’interaction de l’utilisateur, 32 non réinscriptible, 40
O
objets
création dans AppleScript, 36
création dans JavaScript, 27
création dans Visual Basic, 56
création directe requise, 27
création par script impossible, 28, 29
dimensions, 30
hiérarchie, 18
sélection, 58 objets, référencement. Voir référencement d’objets
P
paramètres, omission, 45 picas, conversion, 30 plages de texte
contenu, 24
utilisation d’illustrations de texte, 22 point directeur droit, 32 point directeur gauche, 32 point zéro, 30 points
conversion, 30
fixes, 30
zéro, 30
points d’ancrage, 32 points fixes, 30 polices
Voir aussi styles de caractère
unités em, 30 pouces, conversion de mesures, 30 presse-papiers, vider avant de fermer, 26 propriété aki, 30
Q
Q(unité), conversion, 30
R
rectangles
création, 60
fixes, 31 rectangles fixes, 31 référencement d’objets
à propos de, 27
AppleScript, 35
S
scripts
à propos de, 6
exécution, 10, 11
extensions de fichiers, 7
installation, 10
menu, 7
prise en charge dans Illustrator, 7
utilisation, 6 SDK, 32 sélection d’objets, 58 sélections
définition de contenu, 36, 48, 57
utilisation, 36, 48, 57 styles de caractère
Voir aussi polices
à propos de, 24 symboles
à propos de, 25
éléments, 25
T
texte
éléments d’illustration, 22
plages. Voir plages de texte
types de bloc, 22 tracés
à propos de, 32
création, 58
Page 68
Index 68
U
unités de mesure, 30 unités em, 30
V
valeurs d’énumération, 61 valeurs de mesure, 30 variables
suppression, 25 utilisation, 25
VBScript
bibliothèque de types, 10 conventions d’attribution de nom, 19 extension de fichier, 7
valeurs d’énumération, 61 version d’application, 26 versions d’Illustrator, spécification, 26
Loading...