Ajoutez des variables très personnalisées dans InDesign

Les variables de textes d’InDesign sont un outil très puissant. Récemment, sur un forum,  des personnes se demandait s’il était possible d’ajouter le nom de l’ordinateur aux variables de texte d’InDesign. Ma première pensée était que non et d’ailleurs, c’est le cas…À moins d’ajouter une pincée de scripting InDesign dans la recette 😉

J’ai donc écrit un petit code qui va ajouter quelques variables de texte supplémentaires comme le nom de l’utilisateur ou le nom de l’ordinateur. Le code est ouvert alors libre à chacun d’y ajouter ce dont il a besoin. Finalement la seule difficulté était d’obtenir les informations sur le nom d’utilisateur et le nom de l’ordinateur. Mais une simple navigation dans la classe Folder apporta la réponse. Et le nom d’utilisateur d’être accesible grâce à :

(Folder.myDocuments).parent.displayName;

Et voici pour le nom de l’ordinateur :

(Folder.system).parent.displayName;

J’ai donc publié une première version qui s’est avéré imparfaite. David Buxton me fit en effet remarquer que ce que je prenais pour le nom de l’ordinateur était en fait le nom du disque dur. Ainsi je n’obtenais pas « Ordinateur de Martin » mais plutôt « Toshiba 123XDF », donnée quasi inutile en production. Je devais donc aller un peu plus loin dans l’exploration du système mais ExtendScript ne me permettait pas d’accéder à de telles informations. J’avais besoin d’utiliser des langages plus appropriés mais aussi dépendant du système d’exploitation. En clair, je devais utiliser de l’Applescript et du VisualBasic pour rendre le script compatible sur les deux systèmes. Aucun problème avec Applescript, par contre VisualBasic…

Jimmy Hartington m’a alors conseillé un lien vers quelques codes VBS et Marijan Tompa ( aka tomaxxi ) a proposé ses services pour la mise au point du script vbs. Finalement, j’ai pu disposer de mes deux scripts spécifiques à chaque système. Enfin InDesign offre une passerelle à l’exécution de code spécifique à chaque OS grâce à la méthode doScript. Et voilà, je pouvais enfin récupérer le nom de l’ordinateur.

Enfin, Stephane Bosso, après avoir utilisé le script, m’a fait remarquer que si les variables de texte apparaissaient effectivement dans InDesign, elles n’étaient pas pour autant mises à jour. En effet, une fois ajoutées, les variables de textes conservaient leur contenu même si les documents étaient ouverts sur des postes différents. J’ai donc implémenté un mécanisme de contrôle dynamique des variables de textes utilisant les données du système. Désormais, le script fonctionne exactement comme attendu ou du moins je l’espère :).

Pour faire fonctionner le script, placez le dans le dossier des scripts de démarrage d’InDesign. Ainsi, les variables supplémentaires seront toujours accessibles.

Regardez AddCustomVariables en action

demo_CustomVariables

A vos variables !

Téléchargez le script AddCustomVariables

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *