Introduction

Un script est un fichier-texte qui contient des instructions qui commandent un logiciel pour lui faire exécuter des tâches qui n'ont pas été développées comme fonctions directement accessibles dans le dit logiciel. Ces fonctions répondent à des besoins précis en exécutant une ou plusieurs tâches répétitives.

InDesign est un programme qui contient des millions de possibilités mais les développeurs n'en ont convertis que quelques milliers en fonctions. Par exemple, rechercher tous les Objets Ancrés d'un article et leur appliquer un Style d'Objet n'était pas possible avant InDesign CS3, c'est pourquoi à l'époque d'InDesign CS j'avais fait développer par un spécialiste d'InDesign et du JavaScript un script qui utilise quelques-unes des millions de possibilités du logiciel pour réaliser cet objectif. Plus tard, les développeurs Adobe se sont rendus compte que la demande pour cette fonction était importante et on donc créé une interface et des boutons pour rechercher et remplacer des objets ancrés et des styles à leur appliquer ; frappant par la même occasion mon script d'obsolescence.

Le champ d'application des scripts dans InDesign est colossal et on aura toujours besoin d'en créer car les développeurs Adobe ne vont pas mettre en œuvre des fonctions pour les besoins particuliers de chaque utilisateur. C'est même une des forces d'InDesign, Adobe vantant à l'époque de la sortie du logiciel son architecture ouverte à 90 % contre celle de QuarkXPress qui encore aujourd'hui n'est ouverte qu'à 10 %.

Les scripts peuvent être écrits en utilisant un des trois languages prévus par les ingénieurs Adobe : AppleScript (pour la version Mac), VisualBasic (pour la version Windows) et JavaScript (s'exécutant sur les deux systèmes d'Exploitation). Il est fortement conseiller de développer des scripts en JavaScript plutôt que dans les deux autres langages car ils pourront ainsi s'exécuter sur les deux plateformes.

Installation

Dans InDesign CS et CS2 : pour intégrer les scripts InDesign, copiez-les du CD Ressources & Extras > Technical Information > Adobe InDesign > Scripting, et placez-les dans :
Mac : Ordinateur > Applications > Adobe InDesign CS(2) > Presets > Scripts
Win : Mon Poste de Travail > Disque local (C:) > Program Files > Adobe > Adobe InDesign CS2 > Scripts
Inutile de redémarrer InDesign, affichez la palette Scripts via le menu Affichage > Automatisation.
Si vous ne voyez pas de dossier Scripts dans le dossier Presets de l'applicaton, créez-le.

À partir d'InDesign CS3 : les scripts sont installés par défaut dans le dossier de l'application :
Mac : Ordinateur > Applications > Adobe InDesign CS3/4 > Presets > Scripts > Scripts Panel
Win : Poste de travail > Disque local (C:) > Program Files > Adobe > Adobe InDesign CS3/4 > Scripts > Scripts Panel

Si vous ne disposez pas des droits d'administrateur sur votre poste de travail, vous pouvez installer les scripts dans votre dossier de Préférences :
Mac : Ordinateur > Utilisateurs > [Nom_d'utilisateur] > Library > Preferences > Adobe InDesign > Version 6.0 > fr_FR > Presets > Scripts > Scripts Panel
Win : Mon Poste de Travail > Disque local (C:) > Documents et réglages > [Nom_d’utilisateur] > Données d’applications (attention dossier caché par défaut*) > Adobe > InDesign > Version 6.0 > fr_FR > Presets > Scripts > Scripts Panel

Dans le dossier Scripts Panel se trouve un dossier Samples, vous y trouverez les scripts fournis par Adobe en deux versions : AppleScript (sur Mac) ou VisualBasic (sur Windows) et JavaScript (sur les deux Systèmes). Vous pouvez déplacer/installer les scripts comme vous le désirez dans le dossier Scripts Panel en créant des dossiers de classement ; toutes les modifications se reflèteront en temps réel dans le menu Fenêtres > Automatisation > Scripts.

Pour exécuter un script il suffit de le double-cliquer. Si vous devez l'utiliser souvent vous pouvez lui associer un raccourci-clavier. La méthode est expliquée dans l'exemple plus bas sur cette page.

Avant InDesign CS3, les scripts JavaScript portaient l'extension .js. À partir d'InDesign CS3 ils portent l'extension .jsx. Si vous désirez utiliser un script ancien portant l'extension .js dans une des dernières versions d'InDesign, ajoutez simplement un x à l'extension pour qu'elle devienne .jsx. Tous les anciens scripts ne sont pas censés fonctionner correctement dans les nouvelles versions. Il faut donc les essayer. S'ils ne fonctionnent pas, contactez leurs auteurs. Généralement les informations de contact sont disponibles dans le code du fichier, il suffit de l'ouvrir dans un éditeur de texte.

Les scripts livrés avec InDesign CS4

  • AddGuides ajoute des repères autour d'une sélection d'objets ou sur chaque objet individuellement. Les repères sont placés sur un calque séparé.
  • AddPoints ajoute un point d'ancrage entre des points d'ancrage sélectionnés. Comme dans Illustrator !
  • AdjustLayouts permet de déplacer les objets sur les pages paires et/ou impaires.
  • AlignToPage aligne les objets sur les pages, marges du document. Inutile puisqu'InDesign CS4 intègre ces fonctions sur la palette Alignement.
  • BreakFrame pe permet de détacher un bloc-texte faisant partie d'un chaînage sans modifier la position de tous les blocs-texte du chaînage. Sélectionnez le bloc 4 d'un chaînage de 7 blocs-texte et double-cliquez le script. Le chaînage se poursuit entre le bloc 3 et le bloc 5 mais le bloc 4 ET son contenu sont devenus indépendants.
  • CornerEffects pallie la faiblesse d'InDesign de pouvoir éditer les coins arrondis, incurvés ou fantaisie, tout en choisissant un ou plusieurs coins. Pour utiliser ce script, retenez qu'InDesign numérote les points d'ancrage d'un rectangle par exemple en commençant dans le coin inférieur gauche puis en traitant les autres points d'ancrage dans le sens contraire aux aiguilles d'une montre.
  • CreateCharacterStyle permet de créer un style de caractère avec tous les attributs possibles et pas seulement les attributs minimaux du style. En quelque sorte, le Style de Caractère généré comprend aussi les options de paragraphe. Très pratique en édition et surtout pour exporter le styles vers d'autres documents.
  • CropMarks ajoute des traits de coupe à une sélection d'objets ou sur chaque objet individuellement. Les repères sont placés sur un calque séparé.
  • ExportAllStories exporte tous les blocs texte d'un document dans le format-texte de votre choix. Pas très pratique vu qu'il génère un bloc-texte même pour un bloc-texte vide. À cet égard on préfèrera le grauit Text Exporter de Rorohiko qui propose des options intéressantes.
  • FindChangeByList est mon chouchou. Marre d'effectuer des Rechercher/Remplacer à la chaîne pour corriger l'impolitesse du redacteur ? Insérer tous vos critères de recherche et de remplacement dans le fichier texte "FindChangeList.txt" présent dans le dossier "FindChangeSupport" et double-cliquez. Vous allez être emballés par le temps gagné. Tout simplement IN-DIS-PEN-SA-BLEEEEUUUU, pfiouuu. Ce script est la vedette de mes démos.
  • ImageCatalog crée une planche-contact d'images contenues dans le dossier sélectionné. Attention à la casse de l'extension des fichiers-image. Pour modifier la liste des extensions ou gérer la casse, ouvrez le script dans un éditeur de texte et vous comprendrez.
  • LabelGraphics insère sous chaque bloc-image du document un bloc-texte en y insérant le nom du fichier ou le chemin du fichier ou les métadonnées Description ou Copyright. Les blocs-texte sont placés sur un nouveau calque.
  • MakeGrid divise un bloc sélectionné en autant de blocs spécifiés dans les options. Un bloc-image peut devenir 16 blocs-images ou blocs-texte et vice-versa.
  • Neon ajoute un effet halo autour d'un objet avec de nombreuses options.
  • PathEffects permet de déformer des objets selon des effets déjà vus dans Illustrator.
  • PlaceMultipagePDF aide à insérer les pages d'un PDF dans un document InDesign page par page.
  • RandomFill ajoute des motifs, paramétrables, à l'intérieur des formes.
  • SelectObjects sélectionne, au choix, images, PDFs, TIFFs, EPS, bloc texte,... sur une Table de Montage donnée.
  • SortParagraphs trie dans l'ordre alphabétique ASCII une sélection de plusieurs paragraphes. Le regarder travailler est plus amusant en tout cas que de regarder sa machine à laver en train de fonctionner.
  • SplitStory rend non chaînés tous les blocs-texte chaînés d'un article. Il suffit de sélectionner un des blocs-texte de l'article. Les textes en excédents sont perdus et les césures entre colonnes ne sont pas conservéeS.
  • TabUtilities ajoute une tabulation à l'extrémité droite d'un bloc texte, à la fin de chaque paragraphe. Super.

Ressources et développement

Adobe consacre une section très complète aux scripts dans InDesign. Si vous êtes JavaScripteur ou programmeur XML, IDML,... vous trouverez sur cette page toutes les ressources nécessaires ainsi que des liens utiles : http://www.adobe.com/products/indesign/scripting/index.html

Des ressources existent aussi sur votre disque dur ET en français ! L'installeur du logiciel place dans le dossier (Mac) Applications > Utilitaires > Adobe Utilities > ExtendScript Toolkit CS4 > SDK des PDFs très complets. C'est dans ce même dossier que se trouve l'application ExtendScript ToolKit qui permet d'écrire des scripts en utilisant la bibliothèque d'objets InDesign. Pour l'instant je n'ai pas le chemin pour la version Windows.

Pour trouver des scripts sur Internet, il suffit de rechercher les mots-clés "InDesign" et "script". Quelques sites intéressants :
- http://indiscripts.com/ - Le site de Marc Autret en français et en anglais. La référence absolue pour comprendre les scripts.
- http://www.pdsassoc.com/index.php?Nav=downs&Ban=Downloads&Info=downloads.html - Le site de Dave Saunders.
- http://jsid.blogspot.com/ - Avec des contributions très intéressantes de Dave Saunders, un des meilleurs scripteurs InDesign.
- http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=19&loc=en_us - Collection de scripts chez Adobe.
- http://chris.paveglio.com/ - Un peu de tout, du futile au très utile en pré-presse.
- http://www.kasyan.ho.com.ua/my_scripts.html - Un Ukrainien qui propose des scripts extraordinaires.
- http://www.kahrel.plus.com/indesignscripts.htm - Les scripts de Peter Kahrel.
- http://www.indesign-faq.de/en/cuppascripts - Les scripts de Gerald Singelmann.
- http://www.teusdejong.nl/thome/ho_body5.html#scripts - Les scripts de Teus De Jong.
- http://www.danrodney.com/scripts/ - Les scripts de Dan Rodney.
- http://www.adobescripts.com/modules/news/ - Des dizaines de scripts, la plupart mis à jour pour toutes les versions CS


--

Zoomer à la taille réelle

Dans le menu Affichage, une fonction permet de zoomer à la Taille réelle mais j'imagine que vous l'avez déjà essayée, s'en suit une certaine perplexité... En effet, si vous dessinez un objet de 10 cm de largeur, que vous activez le zoom à la Taille réelle et que vous plaquez une règle sur votre moniteur, l'objet ne fait pas 10 cm. En fait chaque écran a une taille de pixel qui est différente selon les modèles et selon les marques, et il n'y a pas de passerelle entre l'application et le système d'exploitation pour faire une correction en temps réel. Nous allons donc utiliser un script qui va afficher le document à la réelle Taille Réelle.

  1. Sur une page InDesign, dessinez un objet de 10 cm de largeur (c'est la valeur qui doit figurer dans le champ L de la palette Contrôle).
  2. Plaquez une règle sur l'écran et, dans le champ dans le coin supérieur gauche de la fenêtre, zoomez/dézoomez jusqu'à ce que l'objet fasse réellement 10 cm. Notez la valeur de zoom. Dans mon cas il s'agit de 185%.
  3. Ouvrez le fichier Zoom_Taille_Reelle.jsx dans un éditeur de texte de type TextEdit ou Bloc-Notes (NotePad) et modifiez la valeur ZoomPercentage. Voyez que j'ai déjà indiqué la valeur de 185 (sans le %) qui correspond à la taille réelle d'un MacBook Pro 17" (1920 x 1200 pixels). Enregistrez simplement le fichier et fermez-le.
  4. Placez le script Zoom_Taille_Reelle.jsx dans un des dossiers comme expliqué dans la section "Installation" de cette page.
  5. Dans InDesign, nous allons retirer le raccourci Pomme-& / Ctrl-& à la fonction Taille Réelle et l'appliquer au script. Édition > Raccourcis-clavier > (attention de toujours modifier un jeu de raccourcis personnalisé et pas le jeu de raccouris "Par Défaut").
  6. Dans la "Zone du Produit", allez dans "Affichage" et supprimez le raccourci associé à la fonction Taille réelle (qui est Pomme-& / Ctrl-&).
  7. Toujours dans la "Zone du Produit", allez dans "Scripts" dans le menu, puis sélectionnez le script "Zoom_Taille_Reelle.jsx" tout en bas de la liste.
  8. Dans le champ "Nouveau raccourci", tapez Pomme-& (sur Mac) / Ctrl-& (sur Win) puis cliquez sur "Attribuer" puis cliquez sur le bouton "Enregistrer" au sommet de la fenêtre avant de la fermer.
  9. De retour dans le document InDesign, changez de valeur de zoom puis tapez Pomme-& / Ctrl-& : InDesign affiche la taille réelle. Voilà, vous pouvez maintenant réellement afficher un document A4 au format A4 sur votre écran.

--

CONTACT