Comment installer des scripts dans Illustrator. Scripts pour Illustrator

Le travail d'un concepteur lié à la mise en œuvre de toute idée créative est impensable sans de nombreux processus de routine, lorsqu'il faut consacrer beaucoup de temps et d'efforts à répéter la même opération. Il y a plusieurs raisons à cela. Premièrement, il est nécessaire de concevoir de nombreux éléments graphiques dans un seul style, ce qui implique automatiquement la répétition répétée du même type d'opérations. Deuxièmement, dans des domaines spécifiques de la conception, il existe de nombreuses opérations standards qui doivent également être répétées jour après jour (un exemple classique en ce sens est de ramener à un certain vue générale des dizaines, voire des centaines de fichiers images). Un autre problème est le traitement par lots des fichiers, lorsqu'il est nécessaire d'appliquer les mêmes transformations à un grand groupe d'images à la fois.

L'un des moyens d'automatiser les processus répétitifs est l'utilisation de scripts, qui sont certaines séquences de commandes qui peuvent être reproduites plusieurs fois et qui constituent l'outil le plus puissant et en même temps le plus complexe pour automatiser le travail dans un programme. Adobe Illustrator. Les scripts sont efficaces dans diverses situations lorsqu'il s'agit d'un grand nombre d'actions similaires, et les scripts peuvent être appliqués à la fois à des images individuelles et à des groupes d'images, en les combinant efficacement avec des macros, ce qui facilite et accélère encore le processus de préparation. images et permet de gagner beaucoup de temps.

Dans le même temps, dans la pratique, les scripts ne sont pas largement utilisés par les concepteurs. Apparemment, étant donné que pour les écrire, vous devez connaître l'un des langages de programmation orientés objet : JavaScript, Visual Basic(Windows) ou AppleScript (Mac OS). Cependant, ce n'est pas si difficile, car de nombreux concepteurs créent des pages Web qui utilisent JavaScript et ont donc une compréhension de la programmation orientée objet, et cette connaissance est tout à fait suffisante pour écrire des scripts. Il existe un autre argument en faveur de JavaScript langue donnée Il est indépendant de la plate-forme et, par conséquent, les scripts qui y sont écrits fonctionneront à la fois sous Windows et Mac OS. Dans cette leçon, nous nous concentrerons sur la technologie de script basée sur JavaScript dans Environnement Adobe Illustrator CS2, et pour augmenter le niveau d'accessibilité du matériel, nous essaierons de nous passer de formulations complexes et de ne pas utiliser un grand nombre de concepts nouveaux pour les utilisateurs ordinaires, mais acceptés en programmation, car beaucoup d'entre eux sont facultatifs lors de la résolution la plupart des problèmes de conception standard. Ceux qui souhaitent en savoir plus sur les scripts JavaScript à un niveau supérieur et sur les bases de la création de scripts dans Visual Basic et AppleScript peuvent se référer à manuel détaillé d'Adobe (les fichiers de documentation ainsi que des exemples de scripts sont inclus et peuvent être trouvés dans le dossier Scripting).

Aspects théoriques du travail avec des scripts

Adobe Illustrator comprend plusieurs scripts prêts à l'emploi visant à résoudre les tâches les plus fréquemment répétées, notamment des scripts pour exporter des images aux formats SVG, PDF et Flash. Les scripts inclus sont lancés avec la commande Fichier=>Scripts(Fichier => Scripts) (Fig. 1), et sont stockés dans le dossier Préréglages\Scripts. De plus, vous pouvez utiliser les scripts de démonstration inclus dans la documentation dans votre travail ; vous pouvez les sélectionner dans le dossier Script\Exemple Scripts utilisant la commande Fichier=>Scripts=>Autre script(Fichier=>Scripts=>Un autre script).

La bibliothèque de scripts intégrés peut être étendue à l'infini avec de nouveaux scripts, en les téléchargeant depuis Internet ou en les créant vous-même. Dans les deux cas scripts supplémentaires copiez-les simplement dans le même dossier après avoir redémarré le programme, ils deviennent disponibles dans le menu Fichier=>Scripts avec des scripts intégrés. Dans le cas d'un grand nombre de scripts, il est plus judicieux de ne pas les enregistrer directement dans le dossier Préréglages\Scripts, mais dans des sous-dossiers séparés, dont le nombre n'est pas limité, et tous seront présentés comme des sous-menus distincts de la commande Fichier=>Scripts(Fig.2).

Presque toutes les séquences sont enregistrées dans des scripts actions nécessaires et des transformations qui peuvent ensuite être utilisées lorsque vous travaillez avec d'autres images. Il existe cependant des exceptions : par exemple, les objets tels que les styles, les pinceaux, les graphiques, les objets maillés et les spirales ne peuvent pas être créés dans des scripts, et de plus, les plugins ne peuvent pas être lancés à partir de scripts.

Les scripts du langage de programmation JavaScript sont ordinaires fichiers texte avec l'extension js et peut donc être créé dans n'importe quel éditeur de texte, y compris le bloc-notes.

Concept de programmation orientée objet

Un document créé dans Illustrator est un ensemble d'objets dont chacun appartient à un type ou à un autre (par exemple, vectoriel, raster, symbolique, etc.) et possède certaines propriétés (largeur de bordure, couleur de remplissage, etc.). De plus, chaque objet appartient à un certain document, se situe sur son calque spécifique et peut être soumis à certaines actions (déplacer, copier, dupliquer, etc.).

En général, tous ces principes sont valables par rapport à la programmation orientée objet, à la seule différence que les types d'objets ici sont généralement appelés classes, et les actions autorisées par rapport aux objets sont appelées méthodes, mais les propriétés sont également appelées propriétés ici. . Pour mieux comprendre la relation entre les classes et les objets, vous pouvez considérer une classe comme une sorte de modèle pour créer des objets. Selon ce dessin, différents objets sont fabriqués qui ont les mêmes caractéristiques de base, mais chaque objet existe indépendamment des autres, c'est-à-dire que la modification de ses caractéristiques n'affecte en rien les caractéristiques des autres objets. Par exemple, tous les objets symboliques ont la même nature, mais chacun d’eux aura ses propres tailles, ses propres réglages de couleurs, etc.

En JavaScript, chaque type d'objet, méthode et propriété a son propre nom réservé (ou opérande), par exemple cheminItems signifie objet vectoriel, symbolItems objet symbolique, Éléments raster objet raster, Éléments de groupeélément de groupe, Sélectionélément sélectionné, etc. (Voir le manuel de script pour l'ensemble complet des noms réservés.)

Chaque calque d'un document particulier peut contenir de nombreux objets, de sorte que tous les objets situés sur l'un des calques sont combinés dans des tableaux dans lesquels les objets diffèrent les uns des autres par des nombres (la numérotation commence à partir de zéro). De ce fait, accéder à un objet spécifique implique de spécifier séquentiellement le mot app (abréviation de application, ce qui signifie que l'objet fait référence à l'application chargée), le nom du document, le numéro de couche, le nom de classe et le numéro d'élément dans le tableau correspondant. . Par exemple, la conception app.activeDocument.layers.pathItems il s'agit d'un appel au tout premier objet vectoriel en termes de profondeur, situé dans le document actif sur le calque supérieur (notez que la numérotation des calques commence également à partir de zéro).

Les structures plutôt longues qui en résultent peuvent être facilement raccourcies. Ici, vous pouvez omettre de spécifier les éléments du nom qui sont inutiles dans ce cas particulier (en particulier, s'il n'y a qu'un seul calque dans le document, il n'est pas nécessaire de l'indiquer). Vous pouvez utiliser des références de nom en saisissant un nom abrégé pour indiquer une partie d'une construction de nom qui devra être répétée plusieurs fois (ces noms sont appelés variables dans un langage de programmation). Il est préférable d'attribuer des noms ayant un sens pour simplifier l'orientation dans le corps du code. Par exemple, si vous introduisez d’abord la construction mypathItems=app.activeDocument.layers.pathItems, alors la section de code considérée aura la forme moncheminÉléments.

Vous ne devez pas utiliser les mots utilisés en JavaScript pour désigner des classes, des propriétés et des méthodes sous forme de noms, car cela peut conduire à des résultats imprévisibles. Exemple de variable mal définie StrokeWidth=app.activeDocument.layers.pathItems, mot largeur du trait utilisé pour désigner la propriété Border width).

Avant de commencer à expérimenter des scripts, vous devez vous rappeler quelques règles :

  • Les noms de variables sont sensibles à la casse (c'est-à-dire moncheminÉléments Et MesÉlémentsChemin se révéleront être des variables complètement différentes) ;
  • Le numéro de l'élément du tableau est toujours indiqué entre crochets ;
  • toute construction de script (ces constructions sont appelées opérateurs) se termine soit par le symbole « ; » soit par l'accolade fermante « ) ». La deuxième option ne se produit que dans ces cas-là ; lorsque cette construction contient déjà une accolade ouvrante « ( ;
  • le nombre d'accolades fermantes coïncide complètement avec le nombre d'accolades ouvrantes ;
  • Il est préférable de placer chaque nouveau design sur nouvelle ligne, et les constructions placées entre accolades sont mieux imprimées avec un décalage de ligne (Fig. 3). Bien que ces techniques soient facultatives, elles simplifient grandement l'orientation dans le script créé et vous permettent de contrôler le nombre d'accolades ouvrantes et fermantes.

Le principe d'écriture et de débogage des scripts

Bien que JavaScript soit très facile à apprendre, il n’en reste pas moins un langage de programmation. En pratique, cela signifie que bien souvent, les scripts ne commencent à fonctionner correctement qu'après le débogage, ce qui implique la correction d'erreurs évidentes et cachées. Des erreurs évidentes signifient des constructions de langage incorrectes, une syntaxe incorrecte, des tentatives d'accès à des variables inexistantes, etc. (Illustrator les signale lorsque vous essayez d'exécuter le script). La raison de l'apparition d'erreurs cachées est un algorithme incorrect, et ces erreurs ne peuvent être devinées qu'en analysant soigneusement toutes les opérations du script.

Avant que le script ne fonctionne, il devra être modifié et réexécuté plus d'une fois, il est donc préférable de placer immédiatement le script dans le menu Fichier=>Scripts(Fichier => Scripts), plutôt que de le sélectionner manuellement à chaque fois en utilisant la commande Fichier=>Scripts=>Autre script(Fichier=>Scripts=>Un autre script). Pour ce faire, ouvrez le bloc-notes, enregistrez un fichier vide avec l'extension js dans le dossier Presets\Scripts et redémarrez le programme. Il est conseillé de désigner spécifiquement un élément dans le menu pour les scripts de débogage Fichier=>Scripts, par exemple avec le nom débogage, dans ce cas, lors de la création du script suivant, vous pouvez d'abord le placer dans le fichier debugging.js dans le dossier Préréglages\Scripts, puis rappelez-le (la commodité est que ce script sera immédiatement visible dans le menu du programme Illustrator), et après le débogage, enregistrez-le dans le même dossier, mais sous un nom personnel.

Maîtriser les constructions JavaScript les plus simples

Avant de passer aux exemples de création de scripts capables d'automatiser le processus de résolution de certains problèmes de conception, examinons quelques exemples pédagogiques simples qui, bien qu'ils n'aient pas beaucoup de valeur pratique, nous aideront à comprendre les principes d'utilisation du langage le plus courant. construit. Pour ce faire, créez un fichier debugging.js vide dans le Bloc-notes et enregistrez-le dans le dossier Presets\Scripts. Ensuite, téléchargez Illustrator et créez nouveau document, en y plaçant trois contours vectoriels, par exemple trois rectangles avec une large bordure (Fig. 4). Faites attention au placement des objets dans la palette Calques : l'objet situé tout en bas du calque a été créé en premier, et il apparaîtra donc au numéro 0 dans différents tableaux ; À mesure que vous montez dans la palette Calques, les numéros d'objet augmentent.

Entrez les lignes suivantes dans le fichier debugging.js

mypathItems = app.activeDocument.layers.pathItems;

mon cheminItems.StrokeWidth=2,5 ;

mon cheminItems.StrokeWidth=3,5 ;

mon cheminItems.StrokeWidth=2,5 ;

et enregistrez le fichier sous le même nom (Fig. 5).

Conception mypathItems = app.activeDocument.layers.pathItems signifie créer une variable nommée moncheminÉléments, grâce à quoi il sera possible de réduire l'accès à tous les objets de la première couche du document actif. Doubler mypathItems.StrokeWidth = 2,5 indique que la largeur de la bordure (propriété largeur du trait) pour le tout premier objet deviendra égal à 2,5 pixels. Les lignes restantes sont identiques.

Basculez vers l'image dans Illustrator et exécutez le script créé avec la commande Fichier=>Scripts=>débogage(Fichier=>Scripts=>Débogage). Le résultat sera une modification de la largeur de la bordure : pour le premier et le troisième objets de 2,5 pixels, et pour le deuxième de 3,5 pixels. Puisqu’il n’y a qu’une seule couche dans le document, le design considéré peut être plus court (Fig. 6).

En pratique, les mêmes transformations (comme dans ce cas la modification de la largeur de la bordure) sont le plus souvent effectuées sur plusieurs voire tous les objets. Les lister manuellement dans un script, même en copiant simplement des lignes, prend beaucoup de temps ; De plus, cela entraîne des erreurs inutiles et complique le code du programme. Dans de tels cas, ils ont recours à des cycles ; s'il y a encore trois rectangles dans le document, la réduction de la bordure dans le cycle pour tous les objets à une valeur de 0,5 pixel est illustrée à la Fig. 7. Entrez ces lignes dans le fichier debugging.js, enregistrez et exécutez le script pour traiter l'image de travail. Le script modifié a été complété par un opérateur de boucle :

F ou (condition de boucle)(

corps de boucle

La condition de boucle peut être différente, mais dans la plupart des cas, elle peut être représentée par la construction je=0;je<имя_объекта.length;i++ , c'est-à-dire un changement de la variable i d'une unité vers le haut à partir de zéro jusqu'à ce que sa valeur coïncide avec le nombre d'objets ( longueur) dans le calque actif du document actif. Le corps de la boucle est délimité de part et d'autre par des accolades et peut comporter soit une, soit plusieurs lignes (selon le nombre d'actions effectuées dans la boucle), dont chacune se termine par le symbole « ; ».

Essayons maintenant de modifier le script pour que la bordure ne change que lorsqu'il y a des objets sélectionnés dans l'image, et en même temps familiarisons-nous avec l'opérateur de saut conditionnel, qui ressemble en général à ceci :

si (état) (

ensemble d'actions 1

ensemble d'actions 2

Cette construction signifie que si la condition est vraie, le premier ensemble d’actions est effectué, et sinon, le second. Dans sa forme la plus simple, une condition peut être représentée comme une égalité ou une inégalité, et tout ensemble d'actions est entouré d'accolades et peut consister en une ou plusieurs actions, chacune sur une ligne distincte et se terminant par le symbole « ; ». Essayez de modifier le script selon la Fig. 8 et testez-le en pratique. Dans ce cas, le script a été complété par une nouvelle variable docSélectionné, utilisé pour accéder aux objets alloués dans une boucle (la variable de boucle est incrémentée jusqu'à ce qu'elle soit égale au nombre d'objets alloués) et apparaît dans une instruction conditionnelle qui teste la présence d'objets alloués. Comme le montre la vérification, ce script ne produit pas d'erreurs lors de son exécution, mais il ne fonctionne pas correctement : lorsqu'il y a des objets sélectionnés, la largeur de la bordure change en fait, mais pas pour les objets sélectionnés, mais uniquement pour le nombre d'objets correspondant. en ordre. Le problème réside dans la ligne mypathItems[i].StrokeWidth=0.5 et sera autorisé s'il est remplacé par un dessin ou modèle docSelected[i].StrokeWidth=0.5(Fig. 9). Vérifiez cela vous-même pour vous assurer que la largeur de la bordure ne change désormais que pour les objets précédemment sélectionnés.

Enfin, nous ajouterons une touche finale au script - nous l'ajouterons de sorte que s'il n'y a pas d'objets sélectionnés, un message correspondant apparaîtra à l'écran (Fig. 10 et 11). Pour afficher un message nous utiliserons l'opérateur Alerte, qui garantit que le texte arbitraire préalablement saisi dans le dessin est affiché à l'écran Alerte entre guillemets. Il convient de noter que l'opérateur Alerte Cela peut être utile non seulement s'il est nécessaire d'accompagner le script de quelques messages. Cela peut être beaucoup plus utile lors du débogage d'un script, lorsque les raisons du mauvais fonctionnement du script ne sont absolument pas claires. En utilisant l'opérateur Alert dans de telles situations, vous pouvez surveiller la manière dont le programme comprend telle ou telle instruction et ainsi déterminer la raison du mauvais fonctionnement du code du programme.

Exemples de création et d'utilisation de scripts

Changer le design des objets du même type

Il est souvent nécessaire de modifier rapidement certaines propriétés de tous les objets du même type dans un document. Par exemple, vous devez modifier la couleur de remplissage des objets ou réduire ou augmenter légèrement la taille. Dans la version manuelle, vous devrez dans ce cas sélectionner tous les objets qui vous intéressent, ce qui est assez fastidieux s'il y en a un nombre important. Par conséquent, créez une série de scripts pour de telles opérations qui effectuent ce travail automatiquement. Disons que vous devez réduire légèrement la taille d'un grand nombre d'images symboliques dans un document prêt à l'emploi ( symbolItems) (Fig. 12), et on ne sait pas à l'avance de combien de pixels il est nécessaire de réduire les valeurs de hauteur ( hauteur) et la largeur ( largeur). Dans ce cas, vous devez le réduire de 1 pixel, et si cela ne suffit pas, le script peut être exécuté à plusieurs reprises pour le réduire davantage. Pour réduire la valeur d'un bien d'un certain montant par rapport à la valeur originale, il faut ajouter un signe « - » devant le signe égal dans le bien dans notre cas, la construction correspondante prendra la forme : messymboleItems[i].height-=1. De la même manière, vous pouvez augmenter la valeur d’une propriété en entrant un signe « + » au lieu du signe « - ». Le script créé est illustré à la Fig. 13, et le résultat de son travail est présenté sur la Fig. 14.

Les scripts peuvent être utilisés non seulement pour modifier l'une ou l'autre propriété des objets, mais également pour les concevoir complètement, ce qui se fait le plus souvent en appliquant un style graphique et peut également être automatisé. Styles graphiques ( Stylesgraphiques), comme beaucoup d’autres objets, sont combinés en tableaux et accessibles par numéro. Par exemple, créons un script qui appliquera un certain style à tous les objets vectoriels dont la largeur de bordure est inférieure ou égale à 1 (en fait, le principe de vérification des images dépend des caractéristiques de leur création et peut être très différent). Un exemple d'un tel script est présenté sur la Fig. 15.

Épaississement des bordures trop fines

Assez souvent, après diverses transformations, il s'avère que les limites de certains objets s'avèrent trop fines et peuvent être pratiquement invisibles (Fig. 16). Ensuite, la largeur des bordures de ces objets doit être augmentée, et le faire manuellement avec un grand nombre d'objets est très problématique. Il est beaucoup plus pratique d'effectuer ce travail à l'aide d'un script adapté, ce qui ne prendra que quelques secondes. La tâche d'un tel script est de parcourir tous les objets, et ceux qui ont une largeur de bordure plus petite (par exemple, 0,25 pixels) augmentent la largeur de la bordure à 0,5 pixels. Les limites restantes doivent rester inchangées. Le script créé est illustré à la Fig. 17, et le résultat de son travail est présenté sur la Fig. 18.

Formatage des objets texte

Souvent, à un certain stade de la conception du document, on souhaite modifier le principe de conception des objets texte qui y sont inclus. Cependant, sélectionner un grand nombre d’objets est une tâche fastidieuse. Dans de telles situations, vous pouvez créer un script capable de parcourir des objets texte et de modifier leurs caractéristiques d'une certaine manière, par exemple en réduisant la taille de la police, sa couleur, sa police, sa position, etc.

Vous pouvez proposer de nombreuses options pour de tels scripts, mais nous nous concentrerons sur l'augmentation de la taille de la police d'une unité et la modification de sa couleur pour tous les objets texte du document (Fig. 19). Cela implique de parcourir les objets de la classe Cadres de texte(c'est ainsi que les objets texte sont désignés) et ajuster leurs propriétés caractèreAttributes.size(taille de la police) et la couleur de remplissage(dans ce cas, la couleur des caractères). Un script similaire est présenté sur la Fig. 20, et le résultat de son travail est présenté sur la Fig. 21.

Aligner la hauteur et la largeur des objets

Lors de la création de diagrammes commerciaux organisationnels, technologiques et autres, vous devez travailler avec un grand nombre d'objets identiques, par exemple des rectangles ordinaires, dont la taille diffère en raison des différentes longueurs du texte qui y est placé (Fig. 22). . En fin de compte, tous ces éléments doivent souvent être de même hauteur. Les aligner manuellement est bien sûr fastidieux, mais cette opération peut être réalisée rapidement à l'aide d'un script.

Créons un script qui alignera la hauteur de tous les objets avec la hauteur du dernier objet de contrôle créé. Il doit être créé en réglant manuellement la hauteur souhaitée (Fig. 23) et la largeur des objets ne doit pas changer. Pour ce faire, il suffit simplement de parcourir tous les objets en boucle, en recalculant la nouvelle hauteur de chacun selon la proportion habituelle puis en la modifiant. Pour changer la hauteur nous utiliserons la méthode redimensionner (scaleX, scaleY), Où échelleX Et échelleY changement des valeurs de largeur et de hauteur en pourcentage (par rapport aux anciennes valeurs). Dans notre cas, il suffit de calculer la valeur échelleY, UN échelleX sera égal à 100, puisque la largeur reste inchangée. Le script que nous avons créé est illustré à la Fig. 24, et le résultat de son travail est présenté sur la Fig. 25.

Il existe également une situation où les objets doivent être alignés en largeur, laissant leur hauteur inchangée. Un script peut également aider à automatiser le processus, qui peut être obtenu du précédent en remplaçant la propriété hauteur(hauteur) par propriété largeur(largeur) et édition du principe de mise à l'échelle des objets dans la méthode de redimensionnement ( échelleX, échelleY), où dans ce cas la valeur doit rester inchangée échelleY(Fig. 26).

Formatage d'un tableau

Si vous travaillez régulièrement avec des objets conçus de manière similaire, par exemple des tableaux dont le contenu, comme le nombre de lignes, change constamment, mais que le style de conception reste le même, vous pouvez accélérer considérablement le processus de conception du tableau en créant un script approprié. Supposons que toutes les cellules du tableau soient créées en blanc et n'aient pas de bordure (Fig. 27). Lors de la conception, vous devez remplir les cellules d'en-tête avec une certaine couleur (en d'autres termes, modifier la valeur de la propriété la couleur de remplissage) et ajoutez-leur une fine bordure de 0,5 pixel, ce qui implique de modifier les propriétés couleur de trait Et largeur du trait.

Dans ce cas, par cellules d'en-tête, nous entendons les cellules qui ont une certaine bordure gauche - dans notre exemple, 40 pixels. La couleur de remplissage des cellules sera différente de la couleur de la bordure, vous devez donc créer deux variables de couleur, appelons-les couleurNouveau Et couleurNouveau1, pour chacun duquel vous devrez déterminer les composantes rouge, verte et bleue de la couleur. Après cela, vous devrez parcourir tous les objets vectoriels et modifier les propriétés. la couleur de remplissage, couleur de trait Et largeur du trait ceux avec une bordure gauche de 40 pixels. Le script créé est illustré à la Fig. 28, et le résultat de son travail est présenté sur la Fig. 29.

Veuillez noter que dans cet exemple, les cellules elles-mêmes (c'est-à-dire les objets rectangulaires correspondants) étaient présentes dans le document, leurs paramètres pouvaient donc être modifiés. Cela signifie que lors de la création du tableau, ses cellules ont été dessinées sous forme d'objets rectangulaires, puis copiées dans le presse-papiers et dupliquées avec la commande Edit=>Coller devant(Édition=>Coller devant). Après cela, le texte a été écrit dans les copies des cellules, regroupées avec la cellule rectangulaire correspondante. Avec une technologie différente pour créer un tableau, un script complètement différent sera nécessaire pour le concevoir.

Exporter et enregistrer des documents ouverts

Il arrive qu'après avoir travaillé avec plusieurs voire plusieurs documents, à la fin du travail il faille tous les sauvegarder ou les exporter au format souhaité. Considérons la possibilité d'exporter toutes les images ouvertes au format jpg. Lors de la création d'un script pour effectuer cette opération, vous devez d'abord vous assurer que les images sont enregistrées sous des noms différents et dans un dossier spécifique, et deuxièmement, vous devez d'une manière ou d'une autre passer d'un document à l'autre, à condition que les noms des documents soient arbitraires.

Il existe deux manières de résoudre le premier problème : soit préciser le dossier de destination, ainsi que le nom du document manuellement lors de l'exécution du script (mais c'est assez fastidieux, surtout dans le cas grand nombre images), ou former un nom de dossier et de document selon un certain principe. Nous emprunterons le deuxième chemin, c'est-à-dire que nous définirons un dossier fixe comme dossier de destination C:/temp/, nous laisserons le nom du document identique et l'extension jpg sera attribuée automatiquement, en raison de la sélection format requis exporter. En conséquence, la ligne de script correspondante dans dans cet exemple ressemblera à ceci : fileSpec = nouveau fichier ("C:/temp/" + nom.doc), où doc.name nom du document actif.

Le deuxième problème - passer d'un document à l'autre - dans le script sera résolu automatiquement du fait que chaque document déjà exporté sera immédiatement fermé et celui chargé avant de devenir actif. Cependant, vous devez garder à l'esprit que le nombre de documents de travail dans ce script sera une valeur variable, il ne sera donc pas possible de l'utiliser comme limite supérieure pour l'exécution de la boucle. Par conséquent, avant la boucle, vous devez créer une variable supplémentaire pour stocker le nombre initial de documents docLength=documents.longueur.

De plus, il est préférable de fermer les images avec la commande doc.close( SaveOptions.DONOTSAVECHANGES), plutôt que doc.close(), car dans le second cas, le programme demandera une confirmation appropriée lors de la fermeture de chaque image. Le script pour résoudre le problème formulé est présenté dans la Fig. trente.

Effectuer le traitement par lots des fichiers

Très souvent, il est nécessaire d'effectuer le même traitement pour des groupes de fichiers, par exemple lors de la conversion d'un grand nombre de fichiers vers un certain type. Dans de tels cas, il est conseillé d'exécuter le script en mode batch. Bien que cette fonctionnalité ne soit pas fournie dans Illustrator, en mode batch vous pouvez exécuter une macro dont l'une des commandes peut être le lancement du script souhaité.

Imaginez qu'il existe de nombreux fichiers, développés par différents utilisateurs, et qu'ils doivent être réduits autant que possible et réécrits dans un seul format EPS. Pour chaque fichier, vous devez effectuer deux opérations : supprimer les pinceaux, styles graphiques, symboles et couleurs inutiles qui alourdissent le fichier, puis enregistrer l'image au format EPS. Théoriquement, vous pouvez regrouper les deux opérations dans un seul script, qui est ensuite lancé en mode batch depuis la palette. Actions(Actions), mais en pratique il faudra faire différemment utiliser une macro Supprimer les éléments de palette inutilisés de l'ensemble Actions par défaut, qui est chargé de supprimer les pinceaux, styles graphiques, symboles et couleurs inutilisés. Malheureusement, les capacités de JavaScript sont quelque peu limitées, donc pour résoudre ce problème, vous devrez utiliser les commandes docRef.swatches.removeAll(), docRef.symbols.removeAll() et d ocRef.graphicStyles.removeAll(), ce qui entraînera la suppression de toutes les couleurs, symboles, etc., et pas seulement de ceux inutilisés, ce qui ne peut être considéré comme une solution optimale. Vous pouvez supprimer les éléments graphiques inutiles un par un, mais cela prendra beaucoup de temps et d'efforts. Grâce à la macro Supprimer les éléments de palette inutilisés, l'action dont nous avons besoin sera effectuée en quelques secondes, nous nous concentrerons donc sur la combinaison d'un script et d'une macro.

Ouvrir la palette Actions(Macros) à l'aide de la commande Fenêtre=>Actions(Fenêtre=>Actions) et créez-y un nouvel ensemble d'actions en cliquant sur le bouton Créer un nouvel ensemble(Créer un nouvel ensemble) situé en bas de la palette. Sélectionnez une macro Supprimer les éléments de palette inutilisés, dupliquez-le avec la commande Dupliquer(Dupliquer) et faites glisser l'opération de duplication dans l'ensemble de macros créé. Il faut maintenant compléter la macro avec l'opération de sauvegarde du fichier au format EPS un script spécialement créé se chargera de cette opération Enregistrer sous EPS(Fig. 31). Nous enregistrerons les fichiers sous leurs noms d'origine dans le dossier C:/temp/.

Il semblerait plus logique de lancer le script en tant que deuxième macro dans l'ensemble d'actions créé, mais cela sera gênant pour le traitement ultérieur du fichier. Le fait est qu'en mode batch, vous ne pouvez exécuter qu'une seule macro, donc pour que l'opération de traitement du fichier soit effectuée en une seule étape, complétez la macro Supprimer les éléments de palette inutilisés en exécutant un script et modifiez le nom de la macro. L'exécution d'un script peut être incluse dans l'ensemble à l'aide de la commande Insérer un élément de menu(Insérer un élément de menu) menu de la palette Actions, précisant la commande dans la fenêtre qui s'ouvre Fichier=>Scripts=>SaveAsEPS(Fichier=>Scripts=>Enregistrer au format EPS), fig. 32.

Pour exécuter une macro créée en mode batch à partir du menu de la palette Actions ouvre la commande Lot (Le traitement par lots), dans la boîte de dialogue qui s'ouvre, sélectionnez un ensemble de macros dans la liste Ensemble(Définir), puis la macro souhaitée dans la liste Action(Action). Suivant sur la liste Source(Source) définir l'option Dossier(Dossier), cliquez sur le bouton Choisir(Sélectionner) et spécifiez le dossier source précédemment créé. Sur la liste Destination(Récepteur) sélectionnez l'option Sauver et fermer(Enregistrez et fermez) (Fig. 33) et cliquez sur le bouton OK. Le résultat sera l'apparition de fichiers réduits dans le dossier C:/temp/ ils seront tous au format EPS.

Adobe Illustrator dispose de nombreux outils et fonctions pour réaliser n'importe quelle idée. Mais même avec autant de possibilités dans votre arsenal, il manquera certainement quelque chose. Sur Internet, vous pouvez désormais trouver de nombreux scripts et plugins pour Adobe Illustrator qui étendent ses fonctionnalités. Sans ces modules complémentaires, Adobe Illustrator pourrait ne pas être en mesure de gérer certaines tâches ou ajouter du travail supplémentaire à l'artiste. Alors aujourd'hui, nous allons en examiner quelques-uns scripts utiles et gratuits pour Adobe Illustrator.

Installation de scripts

Pour que le script fonctionne dans Adobe Illustrator, nous devons le placer dans le dossier Scripts, situé dans le répertoire Adobe Illustrator. Dans mon cas, c'est .../Adobe/Adobe_Illustrator_CS5/Presets/en_GB/Scripts. Si vous utilisez une version antérieure du programme, au lieu d'Adobe_Illustrator_CS5 dans votre cas, il peut s'agir d'Adobe_Illustrator_CS4, Adobe_Illustrator_CS3, etc.
Si vous avez téléchargé des scripts compressés dans une archive, n'oubliez pas de les décompresser. Après l'installation, vous devez redémarrer Adobe Illustrator.

Les scripts disponibles peuvent être trouvés dans l'onglet Fichier du sous-menu Scripts.

Sélectionnez le chemin ouvert

Ce script trouvera et sélectionnera toutes les formes avec un chemin ouvert. Ce script sera utile lors de la création d'un vecteur pour les microstocks, car les boucles fermées sont l'un des critères d'acceptation de vos œuvres dans la base de données microstock.

Fermer tous les chemins / Fermer tous les chemins sélectionnés

Ce script ferme le contour de toutes les formes ou des formes sélectionnées. Ainsi, par exemple, après avoir recherché des chemins ouverts à l'aide de Sélectionner un chemin ouvert, vous pouvez les fermer.

Diviser les blocs de texte

À l'aide de ce script, vous pouvez diviser un seul champ de texte en champs plus petits, et le point de division sera une transition vers une nouvelle ligne.

Rejoindre des blocs de texte

Ce script combinera plusieurs champs de texte en un seul.

Fleurifier

Grâce à cette écriture, les personnages seront décorés de belles courbes florales.

Métaball

Après avoir utilisé ce script, plusieurs formes simples se transformeront en formes plus complexes.

CMJN vers Pantone v.2

Ce script convertit le mode couleur CMJN en Pantone

Cercle

Grâce à ce script, vous pouvez créer des formes de cercle avec le nombre de points requis.

Supprimer les ancres

Ce script supprimera les points sélectionnés sur la figure.

Autour de n’importe quel coin

Après avoir utilisé ce script, les angles vifs de la forme seront convertis en angles arrondis.

Échanger des objets

Ce script donnera à un objet les propriétés du second et au second les propriétés du premier. Les propriétés seront la taille et l'emplacement sur la scène.

Sélectionnez le chemin par taille

Le plugin vous aidera à trouver des formes d'une certaine taille.

Ici, je souhaite créer une liste structurée de scripts avec des descriptions et des liens de travail. Si vous souhaitez suggérer un script intéressant, écrivez dans les commentaires.
Mis à jour le 24-10-2016.
Mis à jour.
Mis à jour.

Correction d'arc

Complète les arcs dessinés à la main.


Ajoute des flèches en forme de triangle aux extrémités du chemin.


Ajoute des flèches aux extrémités du chemin.

Ajuster les tirets (décalage)


Rend le trait pointillé symétrique.

Ajuster les tirets


Complète le script précédent, en donnant aux lignes la même longueur.

Spirale d'Archimède


Dessine une spirale d'Archimède.
Les paramètres sont disponibles dans le script.
var rayon_increment = 5; // incrément de rayon par tour (point)
var uzu_angle = 15/180 * mpi ; // unité d'angle d'arrondi (radian)
var uzu_roundtime = 10 ; // temps d'arrondi


Dessine un cercle à partir du nombre de points spécifié. Il y a 2 cercles sur l'image, composés de 10 et 2 points.


Décrit les objets à l’aide d’un cercle.

Tangentes communes


Recherche des points à proximité d'un contour et les relie avec des lignes.

Couper aux ancres sélectionnées


Découpe un contour point par point.

Danse


Génère des gens qui dansent sur un nouveau calque.

Diviser (longueur)


Ajoute le nombre de points que vous sélectionnez entre les points existants.

Dup aux ancres sélectionnées


Copie l'objet supérieur au-dessus des points. Le point peut être réalisé avec un stylo ou des points de n’importe quelle forme peuvent être utilisés.

Étendre les poignées


Mise à l'échelle de l'effet de levier selon des pourcentages spécifiés.

Rejoignez raisonnablement


Ferme les chemins ouverts sélectionnés en un seul objet.

Fusionner les ancres superposées

Lorsque les points se chevauchent, ils sont difficiles à voir. Ce script efface le chemin des points qui se chevauchent en les connectant.

Métaball (Arc)



Métabolise les objets. Relie les objets avec des arcs. Vous pouvez définir le degré de courbure.

Longueur du trajet


Ajoute du texte avec la longueur du chemin sélectionné.

Supprimer les ancres

Supprime les points sélectionnés sans rompre le chemin. Comment supprimer des points Supprimer l'outil de point d'ancrage.


Si, lors de la création d'un mélange, le centre de la transition se rétrécit, vous devez changer la direction de l'un des chemins. Ce script change la direction du chemin sans changer son apparence.

Autour de n’importe quel coin


Arrondit tous les coins en spécifiant un rayon dans n'importe quelle unité. Il est pratique de définir tous les coins avec un degré d’arrondi. Vous pouvez effectuer des opérations mathématiques sur les angles créés. Par exemple, divisez les degrés par 2 ou ajoutez 10 degrés à tous les angles.

Courbe sinusoïdale


Dessine une onde sinusoïdale. Il y a 2 vagues sur la photo. Le premier est un filtre illustrateur, le second est créé par un script.

Tangentes à partir d'un point


Trace des lignes à partir d'un point le long d'objets tangents.

En forme d'arbre


Génère des arbres assez réalistes. Parfois vous devrez modifier le tronc et arrondir les extrémités des branches en paramétrant l'arrondi des extrémités dans la palette « Trait ».

Centres de connexion


Trace une ligne passant par le centre géométrique des objets et ferme le chemin à l'objet de départ.

Exemple d'arbre Modifier


Dessine des arbres fractals
— Pas de hasard
— Au hasard

Bonjour Tomsk

Adobe Illustrator dispose de nombreux outils et fonctionnalités, mais l'utilisateur avancé manquera toujours quelque chose. Par conséquent, les développeurs créent des scripts et des plugins qui aideront à résoudre divers problèmes et à accélérer les processus à forte intensité de main-d'œuvre. Aujourd'hui, nous avons préparé pour vous une revue des meilleurs scripts gratuits pour Illustrator. Leur liste est systématisée et divisée en plusieurs groupes selon la fonctionnalité. Cela fonctionne avec des chemins et des points, Divers types répartition des formes, génération d'objets, utilisation du panneau Calques, objets texte, couleur, etc.

Installation et exécution de scripts

Le script doit être installé dans les dossiers suivants:

Pour les fenêtres: C:\Program Files\Adobe\Adobe Illustrator CC 2014\Presets\en_GB\Scripts

Pour MacOS: Applications/Adobe\Adobe Illustrator CC 2014\Presets\en_FR\Scripts

Pour exécuter le script, accédez à Fichier > Scripts > ...

Vous pouvez également placer les scripts dans n’importe quel autre emplacement pratique sur votre disque dur. Dans ce cas, pour exécuter le script, accédez à Fichier > Scripts > Autre script... (Cmd/Ctrl + F12).

Si vous utilisez souvent des scripts, cela vous sera utile pour un lancement pratique. Ce plugin gratuit vous donne accès au script à partir d'un panneau qui peut toujours être placé à un endroit pratique.

Jetons maintenant un coup d'œil à la liste des scripts, qui sont divisés par fonctionnalité :

Scripts pour travailler avec des chemins, des points et des poignées

Ce script fait pivoter les poignées des points d'ancrage, modifiant ainsi leur longueur de manière égale. Après avoir exécuté le script, vous avez la possibilité de sélectionner l'un des cinq types de poignées, puis de définir les options de longueur et d'angle.

Ce script crée des fleurs à partir de formes ordinaires. Idéal pour créer des motifs intéressants, des logos, etc.

Le script supprime les points qui se chevauchent et indique combien ont été supprimés.

Le script ferme les chemins ouverts dans le document actuel. Ne connecte pas les trajectoires tangentes.

Le script change la direction des chemins sélectionnés en fonction de la direction du segment supérieur. Autrement dit, après avoir appliqué le script, tous les chemins sélectionnés auront la même direction.

Le script copie l'objet le plus haut dans les positions et tailles des autres objets. C'est difficile à décrire, c'est plus facile de regarder l'image ci-dessous.

Scripts qui distribuent des objets

Le script remplit le formulaire de cercles.

Le script place les objets à égales distances le long du chemin sélectionné. Vous pouvez redistribuer des objets appartenant à un ou plusieurs groupes.

Le script duplique l'objet supérieur et place des copies aux points sélectionnés.

Le script fait pivoter les objets vers le centre de l'objet supérieur.

Le script fait pivoter tous les objets vers la position de l'objet supérieur.

Le script permet de diviser la zone objet vectoriel selon des données qui peuvent être présentées en termes absolus ou en pourcentage.

Le script crée une image miroir conformément au type sélectionné dans le panneau.

Scripts qui génèrent des objets basés sur d'autres objets ou données

Le script relie les formes dans le style méta-ball (connaissez-vous le nom russe de cette forme ? Je ne le sais pas).

Le script crée des tangentes communes (toutes possibles) aux objets sélectionnés.

Le script crée des guides depuis le point sélectionné jusqu'aux segments courbes sélectionnés.

Le script vous permet de générer un code QR dans Illustrator.

Avec ce script, vous pouvez créer automatiquement une grille de calendrier en quelques clics. Langues prises en charge : EN, RU, DE, UA.

Scripts avec des paramètres aléatoires

Le script alloue les objets dans un ordre aléatoire en fonction de la quantité spécifiée.

Le script RandomSwatchesFill peint de manière aléatoire les objets sélectionnés dans les couleurs sélectionnées dans la palette Nuancier.

Le script RandOpacity modifie la transparence des objets sélectionnés de manière aléatoire dans la plage de 0 % à 100 % de la transparence initiale des objets.

Le script modifie l'angle de dégradé linéaire de tous les objets sélectionnés dans un ordre aléatoire.

Le script Random Order vous permet de distribuer les objets dans un ordre aléatoire dans le panneau Calques. J'ai utilisé ce script lors de l'écriture

Scripts pour travailler dans le panneau Calques

Le script supprime tous les calques vides du document actuel.

Microstoker et l'illustratrice Olga Zakharova ont partagé son ensemble de scripts qu'elle utilise quotidiennement dans son travail. Cela comprenait des scripts à la fois pour créer des illustrations et pour automatiser certains flux de travail dans Adobe Illustrator.

Comme vous l'avez probablement déjà compris, j'essaie toujours d'optimiser le flux de travail autant que possible :) Et aujourd'hui, je veux vous parler de plusieurs scripts pour illustrateur qui m'aident beaucoup dans ce domaine. En cliquant sur le nom du script, vous serez redirigé vers l'endroit où vous pourrez le télécharger/l'acheter.

Fermer tous les chemins

Prix: gratuitement
Que fait-il: se débarrasse des chemins ouverts qui ne devraient pas figurer dans les illustrations libres de droits

Pour envoyer une illustration vectorielle en stock, vous devez suivre un certain nombre de « règles » - en particulier débarrasser le fichier des chemins ouverts. D'ailleurs, il est très simple de connaître leur numéro dans un document - il faut tout sélectionner (ctrl + A), aller sur Menu principal Fenêtre-Informations sur le document - dans la fenêtre qui apparaît, déposez le menu en haut à droite et sélectionnez Objets. Si Open : 0 est écrit entre parenthèses à côté de Paths, félicitations, il n'y a aucune erreur dans votre image (du moins pas dans les chemins ouverts). Si le nombre est supérieur à zéro, il s'agit d'une violation des règles de stock. Et je ne sais pas combien de temps nous passerions tous à chercher ces chemins ouverts qui apparaissent souvent de nulle part sans ce merveilleux script gratuit - habillez tous les chemins, qui vous permet généralement de fermer tous les chemins ouverts en moins de temps. plus d'une minute sans les déranger recherche manuelle. Cependant, le tableau lui-même ne change pas du tout. Un incontournable pour tous les stockeurs !

Gomme Magique

Prix: $5
Que fait-il: recadre l'illustration jusqu'au bord de la zone de travail, en supprimant tous les objets à l'extérieur de celle-ci
Un scénario magique sans lequel je ne peux plus imaginer ma vie. C'est particulièrement pertinent pour ceux qui aiment créer des motifs, mais je l'utilise littéralement pour chaque illustration - cela m'a tellement gâté. Au lieu de mesurer un carré pair à placer sous l'arrière-plan, je le rends simplement plus grand que la zone de travail, et après avoir terminé le dessin, j'allume la gomme - et elle supprime tout l'excédent.

Quand j'apprenais tout juste à dessiner dans Illustrator et que j'essayais de créer mes premiers motifs, j'étais très déprimé par le processus consistant à couper les morceaux en excès et à rechercher de petits « restes ». Il semble que tout ait été supprimé - vous vérifiez la taille, et ce n'est pas un carré pair, mais, disons, 2001,38 au lieu de 2000 pixels de hauteur. Et encore une fois, vous cherchez où la micro-pièce supplémentaire coupée mais non retirée a été perdue... Désormais, tous mes motifs sont toujours parfaitement carrés. Et je sais avec certitude que lorsque j'essaierai de les reproduire, je ne rencontrerai pas de « coupe ample » et autres vilains bugs. Magic Eraser coupera tout autour du bord et supprimera tout ce qui a été coupé.

Il convient de garder à l'esprit que lors du découpage d'un fichier lourd, la progression du script n'est pas affichée immédiatement (c'est-à-dire que pendant plusieurs secondes - parfois 10-20 - la barre de progression peut rester vide), l'essentiel est de ne pas toucher mais va prendre du thé et du café, ça suffira. Il faut parfois 15 à 20 minutes pour découper des traces d'aquarelle vectorielles sur mon Mac assez rapide, mais tout est plus facile que de le faire à la main - pouvez-vous imaginer combien de pièces supplémentaires il y a ? :)

Varier les teintes

Prix: gratuitement
Que fait-il: Colore les objets sélectionnés dans des couleurs aléatoires

J'aime utiliser ce script pour dessiner des fleurs en forme de feuilles, lorsqu'il y a de nombreuses « particules » différentes qu'il est ennuyeux de laisser peintes d'une seule couleur. Pour appliquer le script, vous devez saisir un nombre de 0 à 100, qui reflète la « dispersion » des nouvelles couleurs aléatoires. Plus le chiffre est élevé, plus l’illustration sera colorée et variée. J'entre généralement 15-25, ça me suffit :) Le script danse en fonction de la couleur originale de l'image. Idéal pour incorporer l’inspiration et ajouter de la variété aux illustrations.

Coins dynamiques

Prix: 82 $ (pour un ensemble de quatre scripts, un ne peut pas être acheté séparément)
Que fait-il: arrondit dynamiquement les coins, vous permettant de revenir en arrière et de modifier le rayon à tout moment

De manière générale, ce script est l'un des quatre inclus dans le package Vector Scribe du célèbre créateur de scripts Astute Graphics. Ils sont tous très cool, mais parmi les quatre, je n'utilise actuellement que l'enceinte Corners, car je n'ai tout simplement pas encore appris toutes les fonctionnalités des autres :)

Le script n'est ni gratuit ni bon marché - le package Vector Scribe coûte 82 $, mais vous pouvez télécharger la version d'essai et l'essayer gratuitement pendant 30 jours. Vaughn Glitchka m'a séduit dans le scénario des coins des enceintes (rappelez-vous, j'en ai parlé cours lynda.com), disant qu'après avoir essayé ce scénario en action, il n'est plus possible d'imaginer comment j'ai vécu sans lui. Et c'est vrai.

Je l'ai téléchargé pour le tester - et je m'y suis tellement habitué que Round Any Corner, qui avait auparavant des coins arrondis, auquel j'ai dû revenir après la fin de la période de test, a commencé à ressembler à un outil terriblement préhistorique et maladroit, car si tu épluchais des pommes de terre avec une hache... Et j'ai décidé d'acheter - et je ne l'ai pas regretté. Il est particulièrement utile pour dessiner des graphiques, des infographies et des icônes, ainsi que tout ce qui peut être dessiné à l'aide de formes simples et de pentules. Ceux qui dessinent exclusivement des blobs avec un pinceau n'en ont guère besoin.

Sauveteur automatique

Prix: gratuit - après inscription
Que fait-il: Enregistre automatiquement l'illustration à des intervalles spécifiés

Ce script a été inclus dans la liste à l'avance, car jusqu'à présent, heureusement, il n'y a eu aucun moment où j'aurais eu l'occasion de l'essayer en action. Mais comme, pour une logique incompréhensible, Illustrator ne dispose pas de fonction « enregistrement automatique », ce script est jusqu'à présent la seule solution au problème d'un crash soudain et de la perte de toutes les données. En six mois, Illustrator a planté sans avertissement cinq ou six fois, et, bien sûr, chacun d'eux - quelques secondes avant d'en enregistrer un global, ce qui a pris un temps de travail important :) Je veux vraiment croire que ce plugin va aider à minimiser les pertes lors du prochain lustre volant.

Après l'installation, le script s'exécutera automatiquement lors de la création d'un nouveau document ou de l'ouverture d'un ancien. Vous devrez sélectionner une période de sauvegarde (vous pouvez également choisir de ne pas sauvegarder, mais de vous rappeler de sauvegarder - apparemment au cas où vous auriez peur d'écraser accidentellement le fichier).

En général, vous pouvez trouver des centaines de scripts différents sur Internet, mais aujourd'hui je n'en utilise que cinq. J'ai acheté un package de scripts payants chez Astute Graphics, qui a littéralement bouleversé mon monde :)

On me demande souvent comment installer un script téléchargé/acheté, mais ici, hélas, je ne vais pas vous aider, car cela dépend de votre système opérateur et ses versions. L'idée générale est de trouver le dossier dans lequel se trouve l'illustrateur et de trouver le dossier avec les skipps. Vous pouvez facilement trouver des instructions qui fonctionneront dans votre cas en recherchant sur Google une expression telle que « installation de scripts dans Illustrator sur... (nom du système d'exploitation et version) ».

Après avoir installé le script, vous pouvez y accéder via le menu supérieur Fichier - Scripts - et vous pouvez ensuite sélectionner celui dont vous avez besoin maintenant.