Donnez vie à vos documents numériques !
 

Fonctionnement de l’outil "modifier tous les scripts javascript" ? –

abracadabraPDF Forums PDF – Général Fonctionnement de l’outil "modifier tous les scripts javascript" ? –

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44334
    jsblanc
    Membre

    Bonjour à tous,

    [Acrobat X pro]

    Je suis en train de créer un document pdf interactif avec un assez grand nombre de boutons permettant un genre de navigation via l’affichage-masquage de calques Acrobat.

    Jusqu’ici tout va plutôt bien : j’ajoute des petits scripts d’action dans les propriétés des boutons et je contrôle bien l’affichage des calques.

    Comme dans le document final (issu de indesign) il va y avoir pas mal de calques et de boutons, pour gagner (!) du temps et ne pas avoir à tout refaire à chaque modification du document initial, j’ai imaginé d’utiliser l’outil “Modifier tous les scripts javascript”

    J’ai vu que dans la fenetre d’édition apparaissent les scripts crées depuis les propriétés des boutons :

    Code:
    //————————————————————-
    //—————–Ne pas modifier les balises XML——————–
    //————————————————————-

    //
    //Bouton 1:Annot1:MouseUp:Action1
    //
    /*********** appartient à : AcroForm:Bouton 1:Annot1:MouseUp:Action1 ***********/
    var calques=this.getOCGs();
    calques[1].state = !calques[1].state;
    calques[3].state = true;
    //

    //

    //
    //Bouton 2:Annot1:MouseUp:Action1
    //
    /*********** appartient à : AcroForm:Bouton 2:Annot1:MouseUp:Action1 ***********/
    var claques=this.getOCGs();
    calques[2].state=false;
    calques[3].state=true;
    //

    //

    //
    //lien1:Annot1:MouseUp:Action1
    //
    /*********** appartient à : AcroForm:lien1:Annot1:MouseUp:Action1 ***********/
    var calques=this.getOCGs();
    if (calques[2].state == false)
    calques[2].state = true
    else
    calques[2].state = false;
    calques[3].state = false;
    //

    //

    //
    //lien2:Annot1:MouseUp:Action1
    //
    /*********** appartient à : AcroForm:lien2:Annot1:MouseUp:Action1 ***********/
    var calques=this.getOCGs();
    calques[1].state = !calques[1].state;
    calques[3].state = false;
    //

    //

    Je me suis bêtement dit qu’en copiant/collant des parties de ce code et en changeant judicieusement les noms des objets concernés et les actions, je pourrais créer les actions sans avoir à ouvrir les propriétés de chaque élément.
    Je m’étais aussi dit que je pourrais copier l’ensemble du script dans un fichier texte et ainsi pouvoir restaurer l’ensemble des actions par un seul copier/coller.

    Hélas, il doit y avoir quelque chose qui m’échappe, mais les changements que je fais dans cet éditeur ne semblent pas être pris en compte…
    (quand je ré-ouvre l’éditeur de script, je retrouve le script initial).

    Ma question :
    Ai-je raté quelque chose dans l’utilisation de l’outil “modifier tous les scripts…” (je n’ai pas réussi à trouver de documentation à ce sujet) ?
    Est-ce qu’une telle démarche (centraliser la description de toutes les actions de tous les éléments) vous parait envisageable ?

    Merci de m’avoir lu et pour vos éventuelles réponses.
    JS

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

    Bonjour et bienvenue,

    – S’il y a des modifications à prévoir le mieux est d’utiliser la fonction “Remplacer page” d’Acrobat : le fond de page est remplacé et tous les éléments interactifs (champs, multimedia, commentaires…) restent en place.

    – Oui, la modification devrait se reporter et s’enregistrer normalement.
    Utilises tu un éditeur externe pour les scripts ? (Voir dans : Préférences : JavaScript)

    :Euuuh:

    #53996
    jsblanc
    Membre

    Merci pour la réponse rapide.

    Je n’utilise pas d’éditeur externe, je devrais ?
    En fait les seules modifications qui sont prises en compte sont celles que je fais entre les balises // et //, si j’essaie d’ajouter d’autres blocs //…// (ou en enlever) les modifications ne sont pas enregistrées.
    Cela fonctionne pareil sur la version mac et pc d’acrobat X

    Pour le remplacement de page, je connais la procédure, mais dans le cas présent elle ne peut pas vraiment s’appliquer car pour éviter que les utilisateurs ne puissent naviguer dans les pages sans passer par les boutons.
    Ne sachant pas trop comment “bloquer” le défilement des pages dans Acrobat, le choix a été fait (peut-être à tort…) de faire un doc d’une seule page et de jouer sur l’affichage/masquage de boutons. L’idée étant de gérer un maximum de choses depuis Indesign.

    #53997
    Merlin
    Maître des clés

    – Certains utilisent un éditeur externe sur Windows, sur Mac je n’y suis jamais arrivé, ça plante à chaque fois.

    – Tout va bien, seules les modifications à l’intérieur des balises peuvent être prises en compte. C’est normal.

    – Je ne comprend pas le rapport entre boutons de navigation et remplacement de pages…???
    L’un n’empêche pas l’autre, et vice-versa.

    L’idée étant de gérer un maximum de choses depuis Indesign.

    Ce n’est pas forcément une bonne idée…
    Mais ça dépend surtout du type de document.

    :Smiley15:

    #53998
    jsblanc
    Membre

    – Tout va bien, seules les modifications à l’intérieur des balises peuvent être prises en compte. C’est normal.

    Ok, alors ça règle la question : je ne peux pas utiliser cette manip pour restaurer tous les comportements “en un coup”.

    – Je ne comprend pas le rapport entre boutons de navigation et remplacement de pages…???
    L’un n’empêche pas l’autre, et vice-versa.

    Je me suis mal exprimé : pour faire simple, le document en question est constitué de fiches pratiques que l’on doit faire apparaître par un clic sur des boutons disposés sur une sorte de grille et organisés par thèmes sur les lignes/colonnes.
    Pour éviter que les utilisateurs ne puissent faire défiler toutes les fiches pratiques (à la molette ou par le panneau pages…) sans passer par les boutons de la grille, les fiches pratiques sont en fait des “gros boutons” qui contiennent les textes et les images et qui peuvent ensuite être masqués et affichés lors des actions sur les boutons de la grille.
    Du coup le document ne contient qu’une seule page dont le fond est presque vide, il est presque entièrement constitué de boutons.
    C’est un peu alambiqué, mais ça fonctionne (et on n’a pas vraiment trouvé mieux !)…

    Au passage, je suis preneur d’une méthode qui me permettrait de répartir les fiches pratiques sur plusieurs pages et de pouvoir empêcher les utilisateurs de passer d’une page à l’autre autrement qu’en cliquant sur des boutons

    Ce n’est pas forcément une bonne idée…
    Mais ça dépend surtout du type de document.
    :Smiley15:

    Je suis d’accord, mais c’est aussi une question d’organisation du travail et le maquettiste/graphiste qui s’occupe de la maquette ne se voit pas refaire toute l’interactivité du document à chaque évolution du document (d’où mon idée de récuperer tous les scripts dans un seul fichier txt).

    #53999
    Merlin
    Maître des clés

    Ok, alors ça règle la question : je ne peux pas utiliser cette manip pour restaurer tous les comportements “en un coup”.

    Si, normalement ça le fait.
    Tout sélectionner : Copier ==> Tout sélectionner : Effacer : Coller
    Je fais toujours comme ça et ça fonctionne à merveille.
    :doute:

    Au passage, je suis preneur d’une méthode qui me permettrait de répartir les fiches pratiques sur plusieurs pages et de pouvoir empêcher les utilisateurs de passer d’une page à l’autre autrement qu’en cliquant sur des boutons

    Le seul moyen d’empêcher un utilisateur d’utiliser la molette c’est de lui afficher un message sous le yeux à l’ouverture du document en lui expliquant que s’il le fait quand même il va vite se larguer dans la navigation…

    S’agissant d’un document originellement créé dans InDesign il est certain que l’utilisation de calques facilitera la création du document, et il est fort possible que ce soit plus facile à gérer dans le PDF.
    (Sachant que les champs de formulaire ne sont pas “attachés” aux calques, ils “flottent par-dessus” en quelque sorte.)

    le maquettiste/graphiste qui s’occupe de la maquette ne se voit pas refaire toute l’interactivité du document à chaque évolution du document

    Tu n’as pas compris !
    :tutut:
    Le “Remplacement de pages” est justement fait pour ça : on remplace le fond de page et toute l’interactivité reste intacte (ainsi que tous les paramètres et toutes les métadonnées du document).
    Au pire il faut replacer/redimensionner quelques champs de formulaire si certaines zones ont été modifiées.
    :extra:

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