Donnez vie à vos documents numériques !
 

Comment faire apparaitre des calques par sélection dans une liste déroulante ?

abracadabraPDF Forums PDF – Général Comment faire apparaitre des calques par sélection dans une liste déroulante ?

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45140
    coolman57570
    Membre

    Bonjour.

    Le forum m’a bien aidé pour créer mon PDF mais maintenant je trouve pas la solution.

    J’ai plusieurs calques qui doivent être visibles ou cachés suivant la sélection dans une liste déroulante. 
    Voici le code que j’utilise pour le moment.

    Code:
    var ta = this.getField(“DropDown”).value;

    if ( ta== “0”) { var oVwState = ( {ocgStates:[true, true, false, false]} ) }
    this.viewState = oVwState;

    if ( ta== “7”) {var oVwState = ( {ocgStates:[false, false, true, true] } ) }
    this.viewState = oVwState;

    Quelqu’un pourrait-il m’aider car je sais pas comment mettre les true et false ?

    Merci d’avance.
    Patrick 

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • #58835
    alex
    Participant

    Bonjour,

    Voici un script qui va lister les calques du document et les désactiver:
    function desactivationCalques()
    {
    console.clear();
    calqueArray=this.getOCGs();
    index=0;
      while(index  {
      name=calqueArray[index].name;
      console.println(“Calque de rang “+index+”-“+name);
      calqueArray[index].state=false;
      index=index+1;
      }
    }
    Ensuite, il faut créer une table précisant les calques à activer pour chacun des items de la liste déroulante.
    Puis un script qui, en fonction de la sélection va activer ces calques… Ce n’est pas trop difficile.

    #58836
    coolman57570
    Membre

    Merci  pour le script

    Mais je le  mets  ou  , dans calcul  personalisé ?

    Je suis un peux sur le tuyau  .
    Merci pour vos informations .

    Merci
    Patrick 

    #58837
    jeanine63000
    Membre

    juste comme ça, à quoi servent les calques ?

    #58838
    Merlin
    Maître des clés
    #58839
    jeanine63000
    Membre

    Merci pour l’info. Très intéressant.

    #58840
    coolman57570
    Membre

    Bonjour 
    Est ce que les maitres du PDF pourriez  m’aider, tout mon formulaire fonctionne  grâce  au  Forum, ou j’ai pu  trouver des informations qui me manquait.
    Mais maintenant je suis bloqué  sur les calques  et je sais pas comment résoudre ce problème .
    J’ai deux liste déroulante avec des valeurs d’exportation  , que je mets dans un champ de texte avec calcul personnalise.

    Liste 1  Dimension des dalles    je prends la valeur  40 x 40
                  Liste  2  Pose  je prends la valeur  Pose droite 
                Valeur obtenue  1
                Quand j’ai valeur 1 je voudrai afficher le calque  40 x 40 
    2. Liste 1  Dimension des dalles    je prends la valeur  40 x 40
                  Liste  2  Pose  je prends la valeur  Pose quinconce
                Valeur obtenue  2
                Quand j’ai valeur 2 je voudrai afficher le calque  50 x50
    et de suite   
    ca fait des jours que bute sur ce problème  et je n’arrive pas à le résoudre.
    J’ai mis le PDf comme exemple 

    #58841
    brumbies
    Membre

    Bonjour,

    1) Tu fais appel à un champs nommé “dimdalle1” qui n’existe pas…
    2) pour gérer les calques, tu peux utiliser le script d’Alex, sinon perso j’utilise un de ce style :

    Code:
    for (var i = 2 ; i <= this.getField("dr2").numItems; i++) // on commence à 2 pour prendre en compte la valeur d'exportation 0 de ton champs dr2
    {
      if((i-1) == this.getField(“dr2”).value)
      this.getOCGs(this.pageNum)[i-2].state = true;
      else
      this.getOCGs(this.pageNum)[i-2].state = false;   
    }

    je l’ai adapté à ton document, je le place en action champs désactivé sur “dr2”.
    Attention, pour le tester il faut que tu es le même nombre de calque que d’Item de ton champs “dr2″ (sans compte ” ” – valeur d’exportation 0, puisque je l’ai déjà pris en compte dans le script)

    :Smiley01:

    #58842
    Merlin
    Maître des clés

    pour gérer les claques

    Gérer des claques est une activité de malfrat.
    J’ai corrigé.

    :Smiley08:

    Pour les non-francophones et les québécois : en argot “claque” = bordel, maison de passe, maison close, etc.

    #58843
    brumbies
    Membre

    :Smiley08: Merci Merlin…

    #58844
    coolman57570
    Membre

    Merci ,
    Je vois un peu plus claire  .

    Le seule  question est  j ai deux liste deroulante qui devront se combiner avec 2 valeur export differentes.

    Que je voulait faire dans un  nouveaux champs  et mettre alors ici le script.
    c’est possible  ?

    Exemble  : Liste deroulante  1 a une valeur Export  1 et la liste deroulante  2 a une valeur  Export 1 , et ceci donnera  valeur calculé  1.

    var  d1 = Liste deroulante 1
    var  d2 =Liste deroulante  2
    Nouveaux champs de calcul 

    If d1 =1 & d2  =1  this get Field  new  1

    et apres en fonction de valeur  choisir le calque  .

    Merci pour vos reponses .

    Patrick 

     

    #58845
    brumbies
    Membre

    Bonjour,

    Oui ce que tu veux faire est tout à fait possible…
    Il faudra juste faire attention à  bien associer le numéro du calque avec celui de la combinaison valexport1 et valexport2… (il faut aussi avoir le bon nombre de calque…)

    Par contre pour te faire un script, sans modèle (avec + de calques) que celui que tu as transmis, ça va être compliqué…
    :Smiley01:

    #58846
    coolman57570
    Membre

    Merci Brumbies 

    Je vais préparer l’exemple avec toutes les calques  .

    Merci d’avance déjà

    Patrick 

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.