[INDESIGN] Besoin de votre aide pour un script SVP [Résolu]

Signaler
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009
-
LoicAigon
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009
-
Bonjour à tous,

je me permet de poster une question aux spécialistes du forum car j'ai grand besoin de votre aide. Afin d'automatiser une tâche récurente sur InDesign, je cherche désespérément un script me permettant de faire les opérations suivantes :

- Tout sélectionner (ctrl + A)
- Vectoriser (ctrl + shift + O)
- Exporter (ctrl + E)
- réduire le nom du fichier (passer de 000000.00.X-XXXXXX à 000000.00)
- Fermer le document InDesign sans l'enregistrer

Je n'y connais stictement rien en quelconque programmation et mes tentatives furent vaines à chaque fois que j'ai essayer de bidouiller quelque chose  Je remerci d'avance toutes celles et ceux qui seront en mesure de m'aider dans ma quête

18 réponses

Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

var myRegExp = new RegExp ("\..-.*.indd");
Là ça devrait marcher pour tts les combinaisons de type .X-X*.indd
Par contre j'ai pas encore trouvé pour .X*-X*.indd
En tout cas ca devrait dejà répondre à 99% de tes attentes.
Loic
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
64
Salut
Je ne connais pas ce logiciel, mais en général, ils s'appuient sur du VBA.
Est-ce que tu as la possibilité d'enregistrer des macros ?
Si oui, enregistre une macro pendant que tu fais manuellement chacune des opérations.
En regardant le code généré dans la macro, tu sauras quoi mettre dans ton programme.
Pour la partie nom de fichier, suffit de regarder l'aide des fonctions Mid, Right, Left, Instr, Replace et consor

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

merci pour ta réponse.

Malheureusement, InDesign n'est pas comme Photoshop ou Illustrator. Pour ces 2 logiciels, il suffit de mettre en route une sorte d'enregistreur qui converti en script chacune des opérations que l'on exécute (Est-ce ça des "macros" ?).

Pour InDesign CS3 (j'avais oublié de préciser), il est possible de faire des scripts en VBscript, Java et XHTML je crois.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
64
Bah je sais pas, tu viens poser des questions sur de la prog en VB6 : En quoi programmes-tu ?
Si cela touche des logiciels pro, le mieux serait de regarder sur le site du concepteur et dans la doc de l'application.
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Ta suite d'actions est tout à fait scriptables y compris en VB.
Mais je ne m'y connais qu'en Javascript pour automatiser Indesign.
Si ca te va, je peux te filer un coup de main.
Loic
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

Je te remercie pour cette proposition qui m'aiderai grandement ! Je suis preneur de ton aide avec grand plaisir. Par contre, je n'y connais rien de rien en language informatique...
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

- Tout sélectionner (ctrl + A)
- Vectoriser (ctrl + shift + O)
- Exporter (ctrl + E)
- réduire le nom du fichier (passer de 000000.00.X-XXXXXX à 000000.00)
- Fermer le document InDesign sans l'enregistrer

Il ya quand même un truc ou deux que je voudrais éclaircir avant tout.

Visiblement, tu veux tout vectoriser (Pb de polices qui ne s'exporte pas ?). Ce n'est pas très conseillé en général car les PDFs qui en résultent sont plus lourds. Pourquoi penses tu avoir besoin de tout vectoriser ?
En plus, un ctrl A n'est pas forcèment le plus évident (quid des objets verrouillés et autres calques masqués).

Exporter vers quel format ? PDF, JPG, XML ? Tu ne précises pas.

Réduire le nom de fichier mais sans l'enregistrer après ? Tu veux peut-être dire modifier le nom avant l'export ?

Une fois que tu auras éclairci ces quelques points, je serai en mesure d'écrire qqch.
Loic
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

Je te remercie encore de ton aide. Voici les éclaircissements demandés :

- Le poids n'est pas un problème. J'ai besoin de vectoriser afin de ne pas avoir de problème de polices chez l'imprimeur.

- Je ne travail pas avec les calques sur InDesign, et je n'ai quasiment jamais besoin de vérouiller d'objets. Donc ctrl+A reste approprié.

- J'ai besoin d'exporter au format EPS

- Pour le nom de fichier, voici un exemple. J'enregistre mon fichier InDesign sous la forme 123456.01.A-XXXXXXX.indd et je désire que le fichier EPS qui sera exporté ne garde pour nom que 123456.01.EPS

- Je ne veux pas que le fichier InDesign soit enregistré après l'export car je veux garder le fichier non vectorisé.

J'espère avoir bien répondu à toutes tes interrogations :)
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Voici,
http://dl.free.fr/fpSkMT7P5

Il te faut le placer dans le dossier scripts d'Indesign.

Tu me diras si ca te va.
Par défaut, ca exporte l'EPS dans le dossier de l'indesign.
Loic
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

JE viens de l'essayer et apriori ça fonctionne super. Je te remercie énormément ! Sans vouloir abuser, je voudrais savoir si c'est possible que le script ferme le document InDesign (sans l'enregistrer) après l'export ?
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

rajoute la ligne suivante à la fin après myRec.remove();
doc.close(SaveOptions.NO);
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Au fait, le script crée un preset d'aplatissement "tv".
Si les paramètres ne te satisfont pas, tu peux toujours les modifier via Indesign.
Ca n'affectera pas le fonctionnement du script.
Par contre si tu supprimes le preset et relance le script, il remettra les valeurs par défaut du script.
Juste pour info.
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

J'ai rajouté la ligne et ça fonctionne :)

Par contre je ne sais pas ce que c'est un "preset d'aplatissement "tv""...

Je viens de remarquer autre chose : le fichier EPS généré porte le nom 123456.01.A-XXXX.indd.eps Il n'est pas possible de lui demander de supprimer tous les carractères au delà de 123456.01 ?
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

C'est parce que j'ai été un peu trop rigide.
Mets à jour cette ligne :
var myRegExp = new RegExp ("\.[A-Z]*-[A-Z]*.indd");

Pour le preset, c'est ce qui définit les  conditions d'aplatissement des transparences. Seul moyen d'obtenir la vectorisation des caractères au momentd e l'export.
Loic
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

Désolé mais ça n'a rien changé de remplacer :
var myRegExp = new RegExp ("\.[A-Z]-[A-Z]{7}.indd");

Par :
var myRegExp = new RegExp ("\.[A-Z]*-[A-Z]*.indd");

Le nom du fichier EPS généré est toujours 123456.01.A-XXXX.indd.eps
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Pourtant chez moi ca marche
Je comprends pas pourquoi ca marche pas chez toi.
Normalement si le fichier contient la chaine point + un caractère maj une ou plusieurs fois  + un tiret + un caractère maj une ou plusieurs fois+ ".indd", il devrait le remplacer par "" soit rien.
En tout cas chez moi l'export est bien renommé.
Envoie moi un de tes fichiers que j'essaye ici
Loic
Messages postés
8
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
23 janvier 2009

Alors là chapeau bas monsieur ! Ca marche du tonnerre ton code. Je te remercie énormément pour ton aide précieuse qui va me faire gagner un max de temps à l'avenir.
Messages postés
12
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Y avait encore un truc qui me chagrinait. Du coup j'ai demandé de l'aide et voici ce qu'il en ressort.


remplace

var myRegExp = new RegExp ("\.[A-Z]-[A-Z]{7}.indd");
var myEPSFileName = docName.replace(myRegExp,"") + ".eps";


par :


var myEPSFileName = docName.replace(x.match (/\.[^.]+-.+\.indd/),".eps");

celà sera plus souple encore.

Loic