InDesign, mise à jour des liens

Mettre à jour les liens d’un document InDesign peut être simple, du moins plus que si la manipulation était à faire sous QuarkXPress. En effet, l’option permettant de remplacer le lien sélectionné garantis la préservation des attributions de l’image, comme l’échelle, le décalage ou l’orientation.

Il suffit juste de répéter la manipulation pour chacun des liens du document… cool !!!

C’est là que l’automatisme intervient, ben oui, si pour un document d’une ou deux pages cela semble rapide, pour un 16 pages et ses 80 liens, c’est déjà une autre affaire, à vue de nez 3 à 5 secondes par lien ce qui nous donne un peu plus de 5 min de traitement si on admet que l’opérateur est rapide et use le clavier pour gagner du temps ;)

Le script proposé utilise le Javascript Adobe (quelques fonctions supplémentaires et dédiées aux produits Adobe), et surtout ne demande même pas une minute de traitement pour ces 80 liens, oui oui j’ai bien dis 1 minute (notée avec un chiffre pour être plus clair) !!!

C’est un premier jet, il ne remplace que des liens ayant pour extension .tiff par des liens de même nom avec l’extension .eps, c’est la raison de l’écriture de ce script. N’ayant pas les acquis actuellement pour proposer une boîte de dialogue permettant de configurer le script au lancement, il faudra remplacer les textes .tiff et « .eps » dans le script pour changer les conditions. Promis, bientot une mise à jour ;)

#target "InDesign"
var z = 0; // compteur de mise à jour
var extS = prompt("Quelle est l'extension de fichier recherchée (sans le point)","tiff","Extension recherchée");
var extR = prompt("Quelle est l'extension de fichier de remplacement (sans le point)","eps","Extension remplacée");
var myRegex = new RegExp('\.' + extS + '$', 'i'); // construction de la RegExp
var myImages = app.activeDocument.allGraphics; // liste des images
for (i = myImages.length-1; i >= 0 ; i--) {  // boucle 
	var myImage = myImages[i].itemLink;
	var myNewNamePath = myImage.filePath;
	var myNewName = myNewNamePath.replace(myRegex , '.' + extR)
	var myNewLink =  new File (myNewName);
	if (myNewLink.exists) { // si remplacement & lien existant alors
			myImage.relink (myNewLink);
			myImage.update();
			z = z + 1; // incrémentation du compteur
		}
}
alert("Mise à jour des images" + "rMise à jour effectuée sur " + z);

Une réflexion sur « InDesign, mise à jour des liens »

Les commentaires sont fermés.