Donnez vie à vos documents numériques !
 

Afficher réponses masquées sur un PDF

abracadabraPDF Forums PDF – Général Afficher réponses masquées sur un PDF

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46641
    Ehrmantraut1
    Membre

    Bonjour,

    Etant enseignant en mathématiques, je créée mes cours en PDF (via LaTeX)
    Je présente ces PDF durant les cours généralement.

    Concrètement, ce que j’aimerais faire et qui m’aiderait énormément:

    J’ouvre mon cours en format PDF et masque l’entièreté de fichier PDF via des pages blanches.
    Ensuite, petit à petit, il me suffirait de sélectionner une zone afin de dévoiler petit à petit le texte qui s’y cache derrière.

    Comment faire?

    Merci à vous!

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

    Bonjour,
    Tu pourrais créer des champs avec un fond qui te serviraient de masques et les rendre non visibles par des cases à cocher.
    Je ne connais LaTex que de nom, mais je pense que ça doit être possible avec !
    @+
    :bonjour:

    #69491
    Ehrmantraut1
    Membre

    Merci pour ta réponse, je me suis renseigné, et j’ai réussi à le faire avec Adobe Acrobat (je découvre totalement le monde du PDF…)

    Le résultat est assez convaincant!

    Je mets un champ de texte en blanc qui se masque lorsque je clique dessus.

    Par contre lorsque j’ouvre le PDF avec X-PDF-Editor, le champ de texte se met bien en blanc.
    Alors que sur Acrobat Reader, ce n’est malheureusement pas le cas, il reste en couleur lilas! Est-ce bien parce qu’il faut mettre le champ de texte en “Lecture seule”? Cela a réglé mon problème.

    Bonne après-midi à vous!

    #69492
    bebarth
    Maître des clés

    bonjour,

    Par contre lorsque j’ouvre le PDF avec X-PDF-Editor, le champ de texte se met bien en blanc.
    Alors que sur Acrobat Reader, ce n’est malheureusement pas le cas, il reste en couleur lilas! Est-ce bien parce qu’il faut mettre le champ de texte en “Lecture seule”? Cela a réglé mon problème.

    C’est la couleur de surbrillance des champs du formulaire et donc lorsque tu es en lecture seule, ces champs ne sont plus pris en compte.
    Il faut décocher une case dans les préférences d’Acrobat Reader.
    @+
    :bonjour:

    #69493
    Ehrmantraut1
    Membre

    Merci pour votre aide très complète!

    Concrètement le fait que ce soit en lecture seule ou autre dans mon cas ne change pratiquement rien je suppose?

    Enfin, pour terminer, je risque d’avoir parfois une vingtaine de champs de texte comme cela.
    Je les sélectionne tous pour les mettre en blanc afin qu’ils soient invisibles. Impec, cela fonctionne pour tous!

    Cependant, j’aimerais leur appliquer la même action (quand on clique dessus, le champ de texte se masque).

    Cependant, j’ai l’impression qu’il est uniquement possible de le faire champ de texte à la fois. Est-ce réellement le cas? N’y-aurait-t-il pas une méthode plus rapide?

    Merci

    #69494
    bebarth
    Maître des clés

    Avec Acrobat tu peux sélectionner plusieurs champs pour modifier les propriétés. Avec LaTex je ne sais pas.
    @+
    :bonjour:

    #69495
    Ehrmantraut1
    Membre

    En fait LaTeX me créée juste mon PDF. Ensuite je le modifie avec Acrobat actuellement.

    J’ai fait cela avec Acrobat mais impossible de faire en sorte de tous leur attribuer l’action de masquer chaque champ de texte respectivement lorsque je clique dessus.
    Car après les avoir tous sélectionnés, je clique sur leur attribuer une action donc se masquer lorsque je clique dessus. Et il me demande à ce moment-là de choisir un seul et unique champ de texte malheureusement.

    Est-il possible, une fois tous les champs de texte créés, de leur dire à chacun respectivement de se masquer lorsque je clique dessus?
    Car là, je dois leur attribuer cette action champ de texte par champ de texte, ce qui est un peu plus long.

    Désolé si je ne me suis pas très bien fait comprendre.

    Merci!

    #69496
    bebarth
    Maître des clés

    Dans la console, tu colles :

    Code:
    for (var i=0; i    var f=this.getField(this.getNthFieldName(i));
        if (f.type==”text”) f.setAction(“MouseUp”, “if (event.target.fillColor==”G,1″) event.target.fillColor=color.transparent; else event.target.fillColor=color.white;”);
    }

    Ensuite, tout sélectionner (ctrl A) et Enter du pavé numérique.
    Attention, cela crée une action pour tous les champs texte.
    @+
    :bonjour:

    #69497
    Ehrmantraut1
    Membre

    Merci encore pour ton aide!

    Je viens d’essayer, je découvre totalement tout cela. Voici ce que j’obtiens:
    xb91.jpg

    J’obtiens Undefined, étrange!

    #69498
    bebarth
    Maître des clés

    bonjour,
    Ça c’est normal… Si tu regardes les propriétés de tous tes champs texte, tu verras que maintenant il y a une action “Souris relâchée” avec un script qui affiche/masque ces champs.
    Par contre, moi j’aurais plutôt mis des boutons. Les boutons sont fait pour appuyer dessus…
    Si tu ne veux pas refaire tous tes champs, voici un script qui va remplacer tous tes champs texte par des boutons, avec le script qui va bien :

    Code:
    var lesChamps=[];
    for (var i=0; i    var f=this.getField(this.getNthFieldName(i));
        if (f.type=”text”) lesChamps.push(this.getNthFieldName(i));
    }
    for (var i=0; i    var laPage=this.getField(lesChamps).page;
        var laPosition=this.getField(lesChamps).rect;
        var f=this.addField(“bouton_”+i, “button”, laPage, laPosition);
        f.setAction(“MouseUp”, “if (event.target.fillColor==”G,1″) event.target.fillColor=color.transparent; else event.target.fillColor=color.white;”);
        this.removeField(lesChamps);
    }

    @+
    :bonjour:

    #69499
    Ehrmantraut1
    Membre

    Vraiment merci pour le temps que tu consacres et les codes JavaScript que tu me fournis!
    Je suis tout à fait d’accord avec toi pour les boutons, c’est bien plus pratique!

    J’ai trouvé la meilleure solution qui me convient le mieux je pense.
    Serait-il possible d’effectuer ceci:

    Je créée tous mes boutons qui masquent les parties de texte à cacher.
    Une fois tous les boutons créés, je me demande s’il serait possible de créer un code permettant de les mettre tous en couleur de bordure et de fond en blanc et que lorsque je clique sur l’un d’entre eux (souris enfoncée), le bouton se masque.

    Encore merci et bonne après-midi!

    #69500
    bebarth
    Maître des clés

    Je viens de faire la même chose pour un autre post !
    Pour modifier l’action de tous les boutons :

    Code:
    for (var i=0; i    var f=this.getField(this.getNthFieldName(i));
        if (f.type=”button”) f.setAction(“MouseUp”, “if(event.target.fillColor==”G,1”) {event.target.fillColor=color.transparent;event.target.strokeColor=color.transparent;event.target.buttonSetCaption(“”);}else{event.target.fillColor=color.white;event.target.strokeColor=color.gray;event.target.buttonSetCaption(“CLIQUEZ ICI”);}”);
    }

    Et si tu ne veux pas de “CLIQUEZ ICI”, tu supprimes (2 fois) l’instruction “event.target.buttonSetCaption”.
    @+
    :bonjour:

    #69501
    Ehrmantraut1
    Membre

    Merci pour ta réponse!

    Malheureusement avec ce code, le bouton de départ est en gris et non en blanc. Je me demande s’il est possible que le code JavaScript modifie l’apparence de tous mes boutons en fond blanc et bordure blanche.
    Ensuite, j’aimerais directement masquer ce bouton blanc après avoir cliqué dessus et non obtenir encore un autre bouton sur lequel je dois encore cliquer dessus.

    Désolé, je n’y connais absolument rien au JavaScript!

    #69502
    bebarth
    Maître des clés
    Code:
    for (var i=0; i    var f=this.getField(this.getNthFieldName(i));
        if (f.type=”button”) f.setAction(“MouseUp”, “if(event.target.fillColor==”G,1″) event.target.fillColor=color.transparent;else event.target.fillColor=color.white;”);
        f.fillColor=color.white;
    }

    Ensuite, j’aimerais directement masquer ce bouton blanc après avoir cliqué dessus et non obtenir encore un autre bouton sur lequel je dois encore cliquer dessus.

    Ce script modifie les boutons existants mais n’en crée pas d’autres !!!
    @+
    :bonjour:

    #69503
    Ehrmantraut1
    Membre

    Tout est parfait maintenant! Un tout grand merci, cela me sera très utile pour la suite!
    En arrivant ici, je ne savais même pas qu’il était possible de faire autant de choses avec un PDF!

    Passe une bonne soirée!
    :bonjour: :bonjour:

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