Donnez vie à vos documents numériques !
 

Commande Javascript d’enregistrement. – RÉSOLU

abracadabraPDF Forums PDF – Général Commande Javascript d’enregistrement. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44254
    Lionel
    Membre

    Bonjour,

    Je suis en train de créer un formulaire PDF dont je vais activer les droits (pour pouvoir enregistrer avec Adobe Reader).

    Je désire mettre un bouton d’enregistrement (en passant par du Javascript). quel est déjà la commande ? :

    app.beep();
        {
            ???
        }

    Merci.

    À bientôt.
    Lionel :alien2:

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

    app.execMenuItem(« SaveAs »);

    :Smiley01:

    #53452
    Lionel
    Membre

    Bonjour,

    :PouceHaut:

    Merci.

    Il fonctionne 24 heures sur 24 le forum !  :Smiley03:

    Lionel :alien2:

    #53453
    Lionel
    Membre

    Ah, juste un hic, le message d’erreur :

    Fonctions intégrées d’Acrobat EScript v5.0
    Fonctions intégrées d’Acrobat Annotations/Collaboration v5.0

    uncaught exception:Field Enregistrer:Mouse Up : 3 : les mesures de protection de App.execMenuItem interdisent l’accès à cette propriété ou méthode.
    uncaught exception:Field Enregistrer:Mouse Up : 1 : les mesures de protection de App.execMenuItem interdisent l’accès à cette propriété ou méthode.

    Je sais que ma version 5 d’Adobe Acrobat (j’aime bien cette version) est un peu ancienne  :siffle: mais, logiquement, avec Acrobat, cela devrait fonctionner.

    À bientôt.
    Lionel :alien2:

    #53454
    Merlin
    Maître des clés

    Ben… Oublie le JavaScript et utilise Exécuter une commande de menu
    :priere:  :joker:

    #53455
    Lionel
    Membre

    Bonjour,

    Ben… Oublie le JavaScript et utilise Exécuter une commande de menu
    :priere:  :joker:

    Oui, mais toutes les options de menu sont grisées (c’est la première fois que j’ai cela)

    Lionel

    #53456
    Lionel
    Membre

    Re-bonjour,

    Cela fonctionne avec une version 8 d’Adobe Acrobat (donc fonctionnera avec les versions 9 ou 10 du Reader qui seront utilisées).

    :soleil:

    Lionel :alien2:

    #53457
    Lionel
    Membre

    Dernier détail : peut-on avoir réellement une fonction « Enregistrer » ? (plutôt qu’un « Enregistrer sous » : cette dernière permet de modifier le nom; alors que je voudrais que le document garde obligatoirement le nom d’origine et ne pas se retrouver X versions de ce document.

    Lionel :alien2:



    Édition :
    :joker: Bon, en y repensant, je répond moi-même, il suffit sûrement d’utiliser :
    app.execMenuItem(« Save »);
    #53458
    Merlin
    Maître des clés

    (donc fonctionnera avec les versions 9 ou 10 du Reader qui seront utilisées).

    Il ne faut pas préjuger du fonctionnement dans Reader uniquement en fonction de la version affichée, il faut tester !

    :Smiley01:

    #53459
    Merlin
    Maître des clés

    Bon, en y repensant, je répond moi-même, il suffit sûrement d’utiliser :
    app.execMenuItem(« Save »);

    Oui.
    :bonjour:

    PS : attention toutefois, ce script ne peut pas fonctionner depuis un bouton ou un signet, il requiert un « environnement (de sécurité) privilégié ».
    :idee:

    #53460
    Lionel
    Membre

    Bonjour,

    PS : attention toutefois, ce script ne peut pas fonctionner depuis un bouton ou un signet, il requiert un « environnement (de sécurité) privilégié ».
    :idee:

    Oui, peux-tu, s’il te plaît, m’en dire davantage.
    Comment active t’on cela ?  :doute: (pour s’en servir dans un bouton)

    Merci.
    Lionel

    #53461
    Merlin
    Maître des clés

    Un « environnement privilégié », comprendre : un environnement d’exécution sécurisé, signifie que l’instruction concernée ne peut s’exécuter que dans certaines conditions bien précises de façon à ne jamais pouvoir s’exécuter « à l’insu du plein gré de l’utilisateur ».
    C’est pour éviter l’exécution de codes malicieux.

    Donc, ce code ne peut s’exécuter que :
    – depuis la console JavaScript d’Acrobat,
    – dans un traitement par lot (« Actions » dans Acrobat X),
    – depuis un script d’application (c’est un fichier .js que l’on place dans un des sous-dossiers JavaScripts de Reader ou d’Acrobat, comme les abracadabraTools par exemple).

    A noter que ce dernier cas est le seul possible pour Adobe Reader puisque le traitement par lot et la console JavaScript sont des fonctions propres à Acrobat (dans Reader la console n’est utilisable qu’en lecture*).

    En clair, pour qu’un bouton placé dans un PDF puisse exécuter du code sécurisé il faut qu’il fasse appel à une fonction personnalisée préalablement créée via un script d’application.
    Et un script d’application il faut l’installer avant, sur chacun des ordinateurs concernés.

    :idee:

    * CTRL-J
    (ou CMD-J sur Mac)

    #53462
    Lionel
    Membre

    Bonjour,

    Et un script d’application il faut l’installer avant, sur chacun des ordinateurs concernés.

    Ah, zut !  :geek:

    Donc, pas de bouton « Enregistrer » (qui m’aurait bien rendu service une fois les droits du Reader activés).

    Il faut donc en passer par l’option adéquate du menu « Fichier ».

    À bientôt.
    Lionel :alien2:

    #53463
    Merlin
    Maître des clés

    On peut toujours faire un bouton « Enregistrer et fermer » en utilisant la commande « Fermer », puisque la fermeture d’un fichier provoque une demande de confirmation/annulation de l’enregistrement…
    :joker:

    #53464
    Lionel
    Membre

    Bonjour,

    On peut toujours faire un bouton « Enregistrer et fermer » en utilisant la commande « Fermer », puisque la fermeture d’un fichier provoque une demande de confirmation/annulation de l’enregistrement…
    :joker:

    Justement, mon bouton pour quitter :

    if (app.alert(« Voulez-vous reellement quitter ? », 2, 1) == 1)
                { 
            app.execMenuItem(« Close »);
            }

    ne fonctionne pas non plus…

    L’activation des droits entraîne visiblement aussi pas mal de restrictions…

    Lionel :alien2:

    #53465
    Merlin
    Maître des clés

    Justement, mon bouton pour quitter :
    if (app.alert(« Voulez-vous reellement quitter ? », 2, 1) == 1)
                { 
            app.execMenuItem(« Close »);
            }

    ne fonctionne pas non plus…

    Ben… Pour moi ça fonctionne correctement, pas de problème.
    Tu devrais peut-être te résoudre à abandonner Acrobatosaurus 5 pour une version plus moderne…

    11 ans en informatique c’est l’équivalent d’un siècle dans la vraie vie : http://abracadabrapdf.net/articles.php?lng=fr&pg=7
    :geek:

    #53466
    Lionel
    Membre

    Bonjour,

    Tu devrais peut-être te résoudre à abandonner Acrobatosaurus 5 pour une version plus moderne… :geek:

    Oui, je suis d’accord (je créé le basique avec une 5 puis je réalise qu’autres trucs avec une 8 : activation des droits…).
    Le problème est que cela ne fonctionne pas avec des versions 8 et 9 du Reader qui seront ici utilisées.

    Bon, j’ai commencé à adapter (avec la version 8 d’Acrobat) avec un bouton « Quitter » qui passe par la commande de menu « Fermer ».  :AmpouleIdee: Bonne idée.  :PouceHaut:

    Merci, à bientôt.
    Lionel :alien2:

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