Donnez vie à vos documents numériques !
 

Afficher ou masquer un bloc dans Acrobat

abracadabraPDF Forums PDF – Général Afficher ou masquer un bloc dans Acrobat

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46166
    max68
    Membre

    Bonjour à tous

    Savez-vous comment faire pour afficher ou masquer un bloc contenant du texte en cliquant sur un bouton.

    L’idéal pour moi serait de générer cette fonction via Indesign mais je ne sais pas si c’est possible.

    Je crois que dans Acrobat c’est possible à l’aide des calques mais je n’en suis pas certain.

    Merci de votre aide !

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • #66396
    bebarth
    Maître des clés

    bonjour,
    …avec un petit script :

    Code:
    if (this.getField(« nomChamp »).display!=display.hidden) {
        this.getField(« nomChamp »).display=display.hidden;
    } else {
        this.getField(« nomChamp »).display=display.visible;
    }

    Regarde l’exemple !
    @+
    :bonjour:

    #66397
    max68
    Membre

      Merci Bebarth c’est super.
    Mais ici tu sélectionnes le texte (ce qui m’intéresse aussi). Je cherche à obtenir un PDF au format A4 qui aurait au moins un bouton. En cliquant dessus on fait apparaître un bloc qui sera mis en forme spécifiquement dans Indesign et qui contiendra du texte. Il faut que ce texte puisse être sélectionnable. J’ai vu dans acrobat pro, dans les options de bouton du formulaire qu’il y avait une action : définir la visibilité d’un calque. Je pense que ce peut être une solution sauf que je n’arrive pas à mettre en application cette fonction. À moins que vous ayez une autre idée ?

    Ajout : après une recherche j’ai vu ici http://abracadabrapdf.net/forum/index.php/topic,2995.msg16964.html#msg16964 comment faire sauf que je ne comprends pas comment « cibler » un calque.
    Dans les options on sélectionne en effet « Définir la visibilité du calque » mais on ne peut a priori pas (j’ai pas trouvé) dire au bouton quel calque il doit afficher.
    Si on a 3 boutons sensés afficher chacun un calque différent, comment fait-on si on ne peut pas dire à chaque bouton quel calque il doit afficher ?
    Sais pas si je suis clair, en tout cas merci pour votre aide !

    #66398
    bebarth
    Maître des clés

    bonjour,
    Voici un script pour afficher/masquer un calque :

    Code:
    var ocgArray=this.getOCGs();
    for (var i=0; i    if (ocgArray.name== »nomDuCalque ») {
            ocgArray.state=!ocgArray.state;
        }
    }

    @+
    :bonjour:

    #66399
    max68
    Membre

    Merci bebarth pour ton script ! c’est super cool.

    Tu peux me dire comment le mettre en œuvre ? je n’ai jamais fais ça.
    J’aimerais aussi faire cette action sans script en utilisant les outils Lien et Cible mais j’ai beau me creuser la tête je ne vois nul part dans la doc acrobat comment lier le bloc lien avec le calque que je cible.

    Voici la doc :
    Association de la visibilité d’un calque à une destination de lien
    Dans le panneau de visualisation, définissez les propriétés du calque associées à la destination.
    Choisissez Affichage > Afficher/Masquer > Volets du navigateur > Destinations.
    Le panneau Destinations s’affiche sous forme de fenêtre flottante. Vous pouvez l’ancrer aux autres panneaux en le faisant glisser vers le navigateur. Si le panneau est réduit, cliquez sur le bouton Destinations pour le développer.
    Choisissez Nouvelle destination dans le menu Options , puis attribuez un nom à la destination.

    Activez l’outil Lien , puis tracez le lien dans le panneau de visualisation. (Comme le contenu est ajouté à tous les calques, cela n’a pas d’importance si vous semblez créer le lien sur le calque cible. Le lien fonctionne indépendamment du calque sur lequel vous le créez.)
    Dans la boîte de dialogue Créer un lien, sélectionnez Lien personnalisé et cliquez sur Suivant.
    Dans le panneau Aspect de la boîte de dialogue Propriétés du lien, définissez l’aspect du lien.

    Cliquez sur l’onglet Actions dans la boîte de dialogue Propriétés du lien, choisissez Définir la visibilité du calque, puis cliquez sur Ajouter.
    Fermez les boîtes de dialogue.
    Vous pouvez tester le lien. Pour ce faire, modifiez les paramètres de calque, sélectionnez l’outil Main et activez le lien.

    On nous précise ici de choisir « Définir la visibilité du calque » mais à comment savoir quel calque doit être activé ?
    Je ne pige rien à leurs explications  :mur: :mur:

    #66400
    max68
    Membre

    Voici un exemple de ce que je voudrais (les calques à afficher sont ici masqués dès le départ : voir la palette des calques)

    #66401
    Merlin
    Maître des clés

    Bonjour

    La documentation explique la méthode laborieuse et peu pratique, dont l’interface date des années 80, qui est intégrée à Acrobat Pro. Le mieux c’est de l’oublier.
    :geek:

    J’ai placé ce script dans les 3 boutons, en adaptant à chaque fois le numéro du calque concerné (exemple joint).

    Code:
    var ocgs = this.getOCGs();
    for (var i=0; i ocgs.state = false;
    if (ocgs.name == « Base ») {ocgs.state = true;}
    if (ocgs.name == « FICHE 1 ») {ocgs.state = true;}
    }

    #66402
    max68
    Membre

    Ouha merci Merlin c’est exactement ce que je veux faire.
    Comme je l’ai dit plus haut, ici il faut du javascript.
    C’est certes la voie royale mais je ne comprends rien à ce langage et je suis dépendant de la (très) bonne volonté de personnes disponibles comme toi, bebarth et bien d’autre.
    c’est pourquoi je m’efforce d’utiliser les outils fournis par Adobe.
    Peut-être auriez-vous une solution en passant par les outils interactifs d’indesign, c’est lui que j’utilise la plupart du temps ?
    Encore merci !

    #66403
    Merlin
    Maître des clés

    Non, InDesign ne permet pas d’afficher/masquer des calques, de mémoire il ne permet pas non plus d’afficher/masquer un champ. Ses possibilités « PDF interactif » sont très limitées.

    Le problème de la méthode « pousse-souris » d’Acrobat c’est qu’afficher un calque c’est simple, mais en général ça signifie qu’il faut en masquer d’autres. Et c’est là que ça devient laborieux.

    #66404
    bebarth
    Maître des clés

    bonjour,
    Voici une version sans JavaScript. On joue juste sur la visibilité des calques en action des boutons.
    J’ai rajouté un bouton pour ne voir aucune fiche.
    Par contre il n’y a pas la possibilité d’en voir plusieurs à la fois (dans cet exemple).
    @+
    :bonjour:

    #66405
    max68
    Membre

    Merci bebarth !
    C’est cool, ça fonctionne bien. A priori tu as créer le look avec ID et l’interactivité avec Acrobat ou tout avec ID ?
    Sinon dans AC comment fais-tu pour dire au bouton « afficher fiche 2 » de rendre visible le calque sur lequel se trouve la fiche 2.
    En regardant tes options de boutons rien ne l’indique. As-tu modifier la nature des blocs fiches ?
    C’est ce lien entre le bouton et la cible que je ne comprends pas du tout. L’action du bouton est réglée sur « définir la visibilité du calque » oui, mais de quel calque !!!! :doute: :mur:

    #66406
    bebarth
    Maître des clés

    bonjour,
    Je n’ai rien fait avec InDesign !
    La visibilité des calques est définie dans l’état du moment où l’on crée l’action.
    Par exemple, si tu crées l’action alors que les calques des fiches 1 et 2 sont visibles, l’action rendra toujours les calques de ces fiches visibles…
    @+
    :bonjour:

    #66407
    Merlin
    Maître des clés

    comment fais-tu pour dire au bouton « afficher fiche 2 » de rendre visible le calque sur lequel se trouve la fiche 2.

    Il faut d’abord définir l’état « cible » des calques, c’est à dire leur visibilité finale, avant d’utiliser l’action Afficher/masquer un calque.

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