Donnez vie à vos documents numériques !
 

Afficher/masquer des calques. – RÉSOLU

abracadabraPDF Forums PDF – Général Afficher/masquer des calques. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43873
    infograph
    Membre

    Bonjour,

    Nouvel inscrit sur ce forum et aussi débutant dans la conception de formulaire pdf.
    Voilà ma question :
    Je souhaite réaliser un formulaire qui permette d’afficher ou de masquer des calques en fonction d’une option choisie via des boutons radio par exemples.
    Mes différents essais ne sont pas concluants (Il ne se passe rien). J’ai lu l’aide d’acrobat 9 mais ce n’est pas vraiment clair pour moi. J’ai également fouillé le forum à ce sujet mais je n’ai pas trouvé ma réponse. J’ai également télécharché un pdf d’une discussion (Logos TT calques) qui semble correspondre à ce que je cherche mais en regardant les différentes propriétés je n’ai pas compris son fonctionnement.
    Désolé de mon ignorence mais si quelqu’un pouvait me guider.

    Merci de vos réponses

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Auteur
    Réponses
  • #51227
    bozaneaux
    Membre

    Bonsoir,

    Je ne connais pas spécialement les calques.
    Pour afficher ou non une information, tu peux utiliser une variable dont le status hidden est à true ou à false.
    Exemple : j’affiche l’assurance ou non
    this.getField(“ASS_PORT”).checkThisBox(0,true); // c’est une case à cocher
    this.getField(“ASS”).hidden=true; (true ou false)  // c’est l’information assurance qui sera caché ou non suivant la case à cocher.

    Voici l’objet ASS (la définition du champ), elle pointe sur l’objet 63 qui est une image et elle sera affiché ou pas.
    134 0 obj
    /Subtype/Widget/MaxLen 1/F 4/FT/Tx/MK>/Q 2/Ff 1 /T(ASS) /DA(/Normal 10 Tf 0 g )
    /AP>>
    endobj
    63 0 obj
    >>
    stream
    q 1 0 0 1 0 0 cm
    0.7569 0.8392 0.1843 rg
    0 0 m 85 0 l 85 14 l 0 14 l 0 0 l
    f* 8 w 1 J 1 j
    0.7569 0.8392 0.1843 RG
    0 0 m 85 0 l 85 14 l 0 14 l 0 0 l
    h S
    Q
    endstream
    endobj

    Tu peux voir l’exemple ici : http://www.pdfdynamiques.com/file/boncde_ws10881772.pdf.
    Voir en bas du PDF la case à côté de 2.90.

    Cordialement.

    #51228
    infograph
    Membre

    Merci de ta réponse,
    J’ai trouvé la solution. En fait, il faut afficher les calques que l’on veut rendre visible  et via les outils de formulaires choisir “définir la visibilité du calque” et enregistrer. Sortir ensuite du mode formulaire pour voir le résultat. Toutefois, je suis obligé de fermer et rouvrir le fichier pour revenir à l’état 0.

    Bonne journée à tous

    #51229
    alex
    Participant

    Je réponds à la question initiale:
    1-Fonction associée à chaque bouton de calque (nom de calque identique au nom du bouton):
    GestionCalques()
    2-Fonction à placer au niveau du document:
    function GestionCalques()
    {
    console.clear();
    //Recherche des calques de la page courante…
    ocg=this.getOCGs(this.pageNum);
    indexCalque=0;
      while(indexCalque  {
      if(ocg[indexCalque].name==this.event.target.name)
      {
      //Activation ou désactivation du calque..si son nom est le même que celui du bouton
      ocg[indexCalque].state=!ocg[indexCalque].state;
      //logging sur la console avec un unicode pour faire plaisir à Merlin et aux Macusers
      console.println(“Activation du calque correspondant au bouton sollicitu00E9:r”+this.event.target.name);
      }
      indexCalque=indexCalque+1;
      }
    }
    Chaque pression d’un bouton affiche ou masque le calque correspondant.
    Si vous le jugez utile, je vous envoie une maquette avec
    -activation/désactivation de tous les calques;
    -activation/désactivation individuelle (script ci-dessus).

    Cordialement.

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