Donnez vie à vos documents numériques !
 

Mettre en surbrillance uniquement la cellule active dans formulaire PDF. -RÉSOLU

abracadabraPDF Forums PDF – Général Mettre en surbrillance uniquement la cellule active dans formulaire PDF. -RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44223
    KALO
    Membre

    Bonjour le forum,

    Me voilà fraichement inscript sur ce forum qui je pense m’apprendra beaucoup de choses sur les possibilités d’adobe acrobat,

    Pour mon 1er problème je souhaite savoir s’il est possible de mettre en surbrillance seulement la cellule active et ceci à chaque fois que je me déplace dans le formulaire à l’aide de la tabulation ??

    Un encadré de couleur de la cellule active est possible également..

    Merci d’avance pour votre aide

    P.S : je suis débutant sur Adobe acrobat et en Javascript

    Cordialement

Affichage de 5 réponses de 1 à 5 (sur un total de 5)
  • Auteur
    Réponses
  • #53301
    Merlin
    Maître des clés

    Bonjour et bienvenue,

    il y a deux méthodes possibles :

    – utiliser la fonction intégrée à Reader et à Acrobat qui met tous les champs en surbrillance, le champ actif se démarque parce-qu’il n’est plus en surbrillance.
    L’utilisateur peut activer/désactiver cette fonction en utilisant le bouton situé dans la barre violette en haut à droite du document.
    Sinon on peut l’activer automatiquement à l’ouverture du document en plaçant ce script en “script de document” :
    if (typeof app.formsVersion != ‘undefined’ && app.formsVersion >= 6) {app.runtimeHighlight = true;}

    – utiliser une petite fonction JavaScript qui permet d’obtenir exactement le comportement que tu demandes.
    Ce script en deux parties fait alterner la couleur de fond d’un champ lors du Focus (quand le champ est activé/désactivé par l’utilisateur), très pratique pour mettre en relief le champ actif lors de la saisie :

    Partie à placer en script de document :
    function switchBackground(fieldName)
    // déclaration de la fonction
    {if (getField(fieldName).fillColor == “T”)
    // si fond du champ est transparent
        {this.getField(fieldName).fillColor = color.yellow;}
        // alors il devient jaune
    else
    // sinon (si pas transparent)
        {this.getField(fieldName).fillColor = color.transparent;}
        // alors il devient transparent
    }

    Partie à placer dans chaque champ de formulaire en action champ-activé ET en action champ-désactivé ou bien en action souris-entrée ET souris-sortie :
    switchBackground(event.target.name);

    On peut remplacer yellow par blue, red, black, etc.

    :Smiley01:

    #53302
    Merlin
    Maître des clés

    Pour créer un script de document :

    Acrobat 9 et versions antérieures : menu Options avancées : Traitement du document : Scripts JavaScript
    Acrobat X et versions ultérieures : panneau Outils (sur la droite) : JavaScript : Scripts JavaScript du document

    Dans la fenêtre qui suit il faut remplir le champ de saisie pour nommer le script de document (peut importe son nom mais pas d’espace ni de caractère accentué) et cliquer sur le bouton “Ajouter”.
    Une nouvelle fenêtre s’ouvre : effacer le contenu prérempli par défaut et copier-coller le code ci-dessus à la place.

    OK + Fermer.

    :idee:

    [attachment deleted by admin]

    #53303
    KALO
    Membre

    Bonsoir Merlin,

    Merci pour votre réponse trés détaillée et votre solution mais il y a comme un ptit problème en tout cas de mon côté….

    J’ai mis les 2 codes aux 2 endroits que vous avez indiqués,

    Pour le 1er code en script du document, je pense que c’est tout bon (et merci encore pour votre 2ème message sans quoi je n’aurais pas trouvé..)

    Pour le 2ème code, j’ai d’abord sélectionné plusieurs champs avec la touche Majuscule (Shift) puis dans les propriétés j’ai cliqué sur l’onglet “Actions” pour effectuer les 2 étapes ci-dessus :

    1- J’ai sélectionné “Champ Activé” dans la partie “Sélectionner le déclencheur” et pour “Sélectionner l’action” j’ai indiqué “Lancer un script javascript”
    j’ai fait ensuite “Ajouter” pour coller la ligne de code : switchBackground(event.target.name);

    2- Et pareil pour la 2ème étape mais avec “Champ désactivé” et en collant également le même code : switchBackground(event.target.name);

    Le résultat est que j’ai bien la cellule active en jaune mais une fois passé avec tabulation à la suivante la 1ère reste tjrs en jaune ainsi de suite ce qui déclenche que des cellules jaunes…!!!

    Est-ce que je me suis mal pris pour réaliser les 2 opérations ??

    Pour info je possède Adobe Acrobat 9 pro,

    Merci d’avance pour votre aide,

    P.S : je serais absent à compter de demain pendant 2 jours, je ne pourrai donc vous répondre en cas de nouvelle réponse…merci pour votre compréhension..

    Cordialement

    #53304
    Merlin
    Maître des clés

    Bonjour,

    le déclencheur champ activé/désactivé n’est pas le plus adapté : souris entrée/sortie convient mieux.
    Exemple ci-joint.

    :Smiley01:

    [attachment deleted by admin]

    #53305
    KALO
    Membre

    Bonsoir Merlin, le forum,

    Merci Merlin pour votre fichier exemple, le résultat et intéréssant et me convient trés bien,

    J’ai pu le tester sur un mes fichiers, ça fonctionne trés bien,

    Merci encore pour votre aide

    Cordialement

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