Tutoriels vidéo art graphique gratuits

 
Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Pages: [1]   En bas

Auteur Sujet: Scripting sur dialogue  (Lu 3208 fois)

metaroid

  • Wisi Addict
  • ***
  • Hors ligne Hors ligne
  • Messages: 187
    • Voir le profil
    • Portfolio infographiste metaroid
Scripting sur dialogue
« le: juillet 04, 2016, 09:29:15 am »

Salut tous le monde,

Je suis en ce moment sur la création d'un script Indesign pour passer (plusieurs centaines) des fichiers CS4 vers CS5.
Ma boucle relève tous les fichiers .indd depuis un dossier d'entrée (version CS4) et les ré-enregistre en version CS5 vers un dossier de sortie.

Certains de ces fichiers contiennent parfois des liens manquants, des polices manquantes ou encore des notifications de profils colorimétriques.

Lorsque je lance mon script, Indesign me prévient de ces manquements et le script ne peut pas correctement se terminer puisque des fenêtres de dialogues se sont ouvertes.
J'insère alors dans mon script cette ligne de code:
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;
Avec cela, le script se déroule entièrement puisque l'on demande à Indesign de ne pas faire intervenir de boîtes de dialogues.

C'est là où ça se complique; je voudrais que le script fasse sont travaille normalement (sans interruption) mais que je puisse tout de même récupérer les manques intrinsèques des fichiers (liens / polices) que j'écris dans un fichier texte.

Je voudrais donc savoir si vous pensez qu'il est possible de trouver une solution ou non.
J'avais en tête d'encapsuler l'ouverture des fichiers dans une fonction. Au passage du deuxième "catch" (qui se produit lorsque des fenêtres de dialogues sont ouvertes) je trouve un moyen de fermer toutes les fenêtres de dialogues, j'enregistre et ferme le document et je relance la fonction sur le document suivant. Mais je n'ai rien trouver pour faire cela.

Voilà mon code actuellement:

var path = "Macintosh HD:Users:XXXXXX:Desktop:XXXXXXX:";
var entree = path+"modele:";
var sortie = path+"modele-copy:";
var dir = Folder(entree);
var liste = dir.getFiles();
var trace = File(path+":trace.txt");
var traceExists = trace.exists;
if(traceExists){
   if(!trace.open("e")){
      alert("Erreur du journal de traces");
   }else{
      trace.writeln(new Date() + " - lancement du script");
         app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;
         var i;
      for(i = 0; i < liste.length - 1; i += 1){
          var name = liste.name;
          if(name.indexOf(".indd") >= 0){
             try{
                      var doc = app.open(File(entree + name));
               trace.writeln(new Date() + " - " + name);
               try{
                  var save = doc.save(sortie + name, false, "CS5", false);
                           trace.writeln(new Date() + " - " + name + "saved");
               }catch(error){
                           trace.writeln(new Date() + " - " + error);
               }
                var close = doc.close(SaveOptions.NO);
             }catch(error){
                      trace.writeln(new Date() + " - " + error);
             }
          }
      }
         trace.writeln(new Date() + " - fin du script");
   }
}

Merci d'avance pour vos lumières ;)
IP archivée
Less is more

metaroid

  • Wisi Addict
  • ***
  • Hors ligne Hors ligne
  • Messages: 187
    • Voir le profil
    • Portfolio infographiste metaroid
Re : Scripting sur dialogue
« Réponse #1 le: juillet 04, 2016, 12:47:44 pm »

(Merci Concierge pour le déplacement)

Je pense avoir une partie de la solution avec Link.status (et UserInteractionLevels.NEVER_INTERACT) qui me retourne les liens manquants d'un document dans mes traces, me reste plus qu'à trouver la méthode pour les polices manquantes !
IP archivée
Less is more

metaroid

  • Wisi Addict
  • ***
  • Hors ligne Hors ligne
  • Messages: 187
    • Voir le profil
    • Portfolio infographiste metaroid
Re : Scripting sur dialogue [RÉSOLU]
« Réponse #2 le: juillet 04, 2016, 13:52:55 pm »

C'est bon j'ai trouvé, je mets mon script en pièce jointe si ça intéresse.
À bientôt les wisinautes !
IP archivée
Less is more

concierge

  • Administrator
  • Wisi Comment on décroche
  • *****
  • Hors ligne Hors ligne
  • Messages: 5590
  • Je suis dans l'escalier
    • Voir le profil
    • E-mail
Re : Scripting sur dialogue
« Réponse #3 le: juillet 05, 2016, 14:53:05 pm »

C'est très sympa merci ;)
IP archivée
C'est pas faux...
 



Wisibility est un sité dédié à la formation aux métiers l’image. Vous y trouverez différentes ressources vous aidant à maîtriser les logiciels graphiques tels que Photoshop, Lightroom, Illustrator, InDesign, Flash… Aujourd’hui, Wisibility réunie plus d'une vingtaine d’experts, intervenant en Entreprise pour former graphistes, webdesigners, développeurs web, photographes, monteurs, trucistes…
Depuis 2006 nous nous sommes spécialisés dans les tutoriels vidéos permettant de se former à distance. Notre forum très actif, géré par une équipe de bénévoles répondra à vos demandes. Vous pourrez également profiter de nos émissions et reportages sur la Wisi TV.

Nos partenaires

         
Contact - Wisibility est une marque déposée

Blog - Tutoriels - Wisi TV - Forum