IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Application level JavaScript et folder level trusted function


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 115
    Points : 79
    Points
    79
    Par défaut Application level JavaScript et folder level trusted function
    Bonjour à tous,
    Pour la création de formulaires en PDF, j'ai posté un message sur Acrobatusers.com suite à un problème et on m'a dit qu'on pouvait le résoudre grave à une "Application level Javascript" ou un " folder level trusted function". Je me suis donc renseigné et d'après ce que j'ai pu comprendre il faut créer un fichier javascript externe à mon formulaire ( car on peut coder du javascript en interne sur les pdf ). Cependant, j'ai essayé de créer un fichier .js et de l'éxecuter mais évidemment ça ne marche pas

    J'ai donc deux questions : est-ce que quelqu'un a déjà entendu parler de ces deux termes, et est-ce qu'il est possible d'éxecuter du code Javascript tout seul sans l'insérer dans du html.
    Merci à tous, et bonne fin de journée.
    Horn33t

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    le rapport en pdf et javascript ne me saute pas directement aux yeux ...
    Mais pour répondre à ta question d'interpréter du js tout seul, non js ne peut pas etre interprété tout seul il doit être encapsulé dans une page html ou dans une application par exemple comme flash qui intègre une sorte de javascript appelé action script.
    Pour ce qui est des readers de pdf je n'ai jamais entendu parler que l'on pouvait y integrer du js ...

    Une petite recherche avec notre ami m'a mené vers ce lien
    http://www.adobe.com/fr/products/acr...tml#javascript
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 115
    Points : 79
    Points
    79
    Par défaut
    D'accord, merci.
    Donc manifestement j'ai du mal comprendre ce que m'a dit le mec de chez adobe. En fait je veux pouvoir accéder au compte XP de l'utilisateur, le prendre et aller piocher dans une liste Sharepoint son nom et son prénom correspondant au compte XP. J'ai donc demandé ça et voilà ce que m'a répondu Mr Adobe :

    You will have to use Acrobat's 'identity' object to access the 'loginName' property. Begriming with version 7, Adobe has restricted access to the identity object to batch, console and initialization actions. So you will need to create application level JavaScript to capture this information or create a folder level trusted function to obtain this data. And the folder level JavaScript will need to be added to every user's system. This technique will also work with Reader.

    You can use the 'search' feature to find more references to the 'identity' object.

    You will need to post the the PDF form to a library on the SharePoint server. Acrobat, not Reader, can access an SQL data base, which SharePoint should be able to support.
    J'ai donc compris qu'il fallait créer une appli extérieure au PDF vu que les paramètres de sécurité ne permettent pas d'éxécuter ce code JavaScript dans le PDF lui même. Sauf que si on peut pas éxécuter un .js tout seul, je vois pas bien comment on va faire.
    Est-ce que quelqu'un aurait mieux compris que moi et pourrait m'expliquer comment faire ?
    Merci d'avance
    Horn33t

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    A priori il s'agit d'un problème de sécurité, l'accès à ses informations n'est pas autorisée pour javascript à partir de la version 7 de adobe acrobat.
    Il suggère d'utiliser l'objet identity de adobe acrobat
    peut être en passant par VisualBasic comme dasn ce tuto ?
    http://www.adobe.com/devnet/acrobat/...JavaScript.pdf
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 115
    Points : 79
    Points
    79
    Par défaut
    J'ai bien avancé :
    Petit rappel : il y a des fonctions et des objets que l'on ne peut pas utiliser directement sur les event des boutons pour des raisons de sécurité (sinon, on pourrait accéder à plein de choses à partir d'un simple PDF). Si l'on veut contourner ces raisons, il faut mettre notre code javascript dans un fichier à part que l'on place dans des fichiers spéciaux d'acrobat. L'utilisateur est donc averti qu'on utilise des fonctions qui accèdent à des données confidentielles car c'est lui même qui doit placer le fichier .js dans un répertoire spécial.
    Si je n'm'abuse, ce répertoire est par défaut dans :
    C:\Documents and Settings\nom_de_login\Application Data\Adobe\Acrobat\9.0\JavaScripts ( fichier "local" )
    S'il n'est pas là, il faut alors trouver où il se situe. Pour ce faire, il y a la commande app.getPath("user","javascript") pour accéder au fichier "local" et app.getPath("app","javascript") pour accéder au fichier "global". Apparament, si on le met dans le fichier "local", ce sera uniquement pour le compte windows courant, si on le met dans le fichier global, ce sera pour tous les utilisateurs de l'ordinateur.
    Ces commandes s'éxécutent dans la console, qui est normalement accessible en faisant Ctrl+J, mais pour je ne sais quelle obscure raison ça ne marchait pas sur mon pc.
    Du coup, pour lancer la console, j'ai écrit un bout de code qui génère une erreur, et là la console se lance.Pour ceux qui ont la flemme de chercher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    myTrustedSaveAs = app.trustedFunction(
        function(adoc)
        {
            app.beginPriv();
                var myTrustedRetn = adoc.saveAs({
                cpath: "/C/Documents and Settings/jdawson/My Documents/Test/doc_ver8.pdf",
                bPromptToOverwrite: False
            });
            app.endPriv();
            return myTrustedRetn;
        }
    );
    Ce code, appelant une fonction sécurisée, génèrera une erreur si on le place par exemple sur un event d'un bouton.
    Après il suffit de nettoyer la console grâce au bouton "garbage" tout en bas à droite de la console, ou de tout sélectionner et de supprimer.
    On tape la commande sans mettre de point virgule à la fin, et fait Ctrl+Entrée pour l'éxecuter ( un simple Entrée fait un retour à la ligne).
    Voilà, j'espère avoir été clair et avoir avancé tous ceux qui luttent un peu avec le javascript d'acrobat.
    Bon code à tous.
    Horn33t

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une application à travers JavaScript
    Par IAGISG dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/05/2012, 13h15
  2. Application fonction Javascript balises Struts
    Par cecile38 dans le forum Struts 2
    Réponses: 4
    Dernier message: 13/01/2012, 10h55
  3. Application web JavaScript (ExtJS 3.0)
    Par BobbySixKiller dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/12/2009, 21h16
  4. [javascript] ordre d'execution des functions ?
    Par gretch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2009, 15h51
  5. Scriptage d'application en javascript
    Par maitredede dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 20/01/2009, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo