Donnez vie à vos documents numériques !
 

app.launchurl("file:///V:/BONCDE.PDF")

abracadabraPDF Forums PDF – Général app.launchurl("file:///V:/BONCDE.PDF")

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43874
    bozaneaux
    Membre

    Bonjour,

    Avec app.launchUrl, nous pouvons exécuter un lien Url de type « HTTP: » sans problème.
    Par contre, avec « File: », il y a des erreurs de protection « NotAllowed Error ».

    Quel est le Javascript pour contourner ce problème ?

    Cordialement.

1 réponse (sur un total de 1 )
  • Auteur
    Réponses
  • #51230
    alex
    Membre

    1-Pour moi, avec, app.launchURL(), et ce depuis la version 8.1, il y a obligation d’être en contexte privilégié.
    Voir documentation:
    JavaScript > JavaScript for Acrobat API Reference > JavaScript API > app > app methods > launchURL
    Le .pdf ferait-il exception?

    2-Il n’y a pas ici d’openFile() ou de var doc = document.open(« file.html »)!
    Certaines méthodes et propriétés valides dans le JavaScript HTML ne le sont plus dans en JavaCript Acrobat ou LiveCycle. Par exemple this.getField »MonChamp »).length n’est pas une propriété valide.
    Il faut donc utiliser app.openDoc().
    Il n’y a pas de restrictions d’usage pour app.openDoc(), donc pas d’obligation à travailler dans un contexte privilégié, sauf lorsque l’on souhaite ouvrir un document non-pdf et le convertir en .pdf (voir 4 pour usage en contexte privilégié). La mauvaise définition du path est la cause la plus fréquente de problèmes.
    voir documentation:
    http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?&accessible=true
    JavaScript > JavaScript for Acrobat API Reference > JavaScript API > app > app methods > openDoc

    3-Je pense qu’il faut éviter de travailler avec un éditeur de texte directement dans le « core » des documents .pdf. Il vaut mieux passer par les outils d’Acrobat dédiés au JavaScript parce qu’ils donnent un diagnostique immédiat des erreurs de syntaxe et nous assurent du respect des spécifications de format pdf, en particulier pour les documents interactifs. On peut associer un éditeur autre que celui d’Adobe assez indigent (Notepad++ sur Pc ou Eclipse sur Mac et Pc) que ce soit avec AcroForm (l’outil de création de formulaires d’Acrobat) ou sous LiveCycle Designer.

    4-Pour encapsuler une fonction, par exemple app.openDoc() dans une zone de privilège:
    Script de haut niveau (application Acrobat ou Adobe Reader)
    trustedcreationDoc=app.trustedFunction(function()
    {
    //Début des privilèges
    app.beginPriv();
    //ici tout ce qui n’est pas autorisé en contexte normal
    app.openDoc()
    /Fin des privilèges
    app.endPriv();
    })
    Script de bas niveau (document)
    trustedcreationDoc();

    Pour voir un exemple, reportez-vous à mon post de manipulation des calques.

    Cordialement.

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