abracadabraPDF › Forums › PDF – Général › Commande Javascript d’enregistrement. – RÉSOLU
- Ce sujet est vide.
-
CréateurSujet
-
28 août 2012 à 22:58 #44254
Lionel
MembreBonjour,
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: -
CréateurSujet
-
AuteurRéponses
-
28 août 2012 à 23:17 #53451
Merlin
Maître des clésapp.execMenuItem(“SaveAs”);
:Smiley01:
28 août 2012 à 23:23 #53452Lionel
MembreBonjour,
:PouceHaut:
Merci.
Il fonctionne 24 heures sur 24 le forum ! :Smiley03:
Lionel :alien2:
28 août 2012 à 23:26 #53453Lionel
MembreAh, 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.0uncaught 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:28 août 2012 à 23:51 #53454Merlin
Maître des clésBen… Oublie le JavaScript et utilise Exécuter une commande de menu…
:priere: :joker:29 août 2012 à 05:11 #53455Lionel
MembreBonjour,
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
29 août 2012 à 05:26 #53456Lionel
MembreRe-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:
29 août 2012 à 05:49 #53457Lionel
MembreDernier 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”);29 août 2012 à 08:38 #53458Merlin
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:
29 août 2012 à 08:39 #53459Merlin
Maître des clésBon, 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:6 septembre 2012 à 09:05 #53460Lionel
MembreBonjour,
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.
Lionel6 septembre 2012 à 09:30 #53461Merlin
Maître des clésUn “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)6 septembre 2012 à 09:35 #53462Lionel
MembreBonjour,
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:6 septembre 2012 à 09:43 #53463Merlin
Maître des clésOn 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:6 septembre 2012 à 09:49 #53464Lionel
MembreBonjour,
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:
6 septembre 2012 à 10:39 #53465Merlin
Maître des clésJustement, 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:6 septembre 2012 à 11:40 #53466Lionel
MembreBonjour,
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: -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.