Donnez vie à vos documents numériques !
 

Chemin d’acces d’un PDF mis en objet dans un fichier word

abracadabraPDF Forums PDF – Général Chemin d’acces d’un PDF mis en objet dans un fichier word

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44783
    rattlesnake
    Membre

    Bonjour à tous !!

    Je vous explique mon probleme. J’aimerais mettre en place une fiche de suivie PDF dans des documents words, afin de suivre la vie du document et aussi  masquer/afficher des champs/Freeze ou non les champs.

    Le formulaire PDF est prêt, et les utilisateurs n’auront que le reader version XI sur win 7 pour travailler.
    L’idée de ne pas dissocier le fichier word du PDF.
    Quand on ouvre le pdf en Objet (embed) dans word avec acrobat pro on peut effectuer une simple sauvegarde classique et ça fonctionne.
    Par contre dès qu’on utilise le reader, on est obligé de faire un enregistrer sous… et du coup l’utilisateur ne sait pas quel chemin d’enregistrement choisir (fichier temporaire j’imagine) pour ecraser le document original… Et donc on se retrouve avec 2 fichiers séparés.

    Pour palier à ce probleme, j’ai donc cherché un peu et j’ai creé un fichier js qui fait un save as en reprenant automatiquement son propre chemin. Il se trouve dans le repertoire protégé app :
    => C:Program Files (x86)AdobeAcrobat 11.0AcrobatJavascripts

    Code:
    safeSaveAs = app.trustPropagatorFunction(function(doc,vPath){
        app.beginPriv();
        doc.saveAs({cPath:vPath});
        app.endPriv();
    });
    myTrustedSaveAs = app.trustedFunction(function(doc,vPath){
        app.beginPriv();
        safeSaveAs(doc,vPath);
        app.endPriv();
    });

    En ce qui concerne le code du bouton qui sauvegarde le document sur lui-même, le code va juste executer la fonction myTrustedSaveAs en injectant comme chemin, son propre chemin:

    Code:
    if(typeof(myTrustedSaveAs) == “function”){
        myTrustedSaveAs(this, this.path);
    }
    else{
        app.alert(“Veuillez contacter l’administrateur”);
    }

    Et le code fonctionne niquel quand on lance de manière classique le pdf avec le reader (il y a juste une petite pop-up de warning, puis OK).

    Cependant, dès que ce PDF est embarqué en objet dans un word… alors lors de l’enregistrement rien ne se passe. Et le debogueur de script affiche que l’enregistrement s’est mal déroulé…

    En fait je pense que le pdf embarqué, n’arrive pas à determiner sa propre position avec le “this.path”.
    Je sais qu’un docx est en realité une sorte de fichier zip, mais je tourne en rond.

    Si quelq’un aurait une idée je suis vraiment preneur :)

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Auteur
    Réponses
  • #56637
    rattlesnake
    Membre

    Yes alors je confirme !
    C’est bien la ligne de commande :
    this.path
    Qui ne fonctionne pas dans un pdf mis en objet dans un fichier word.

    pour reproduire la chose facilement, il suffit de faire à ce moment là dans la console :
    console.println(this.path)

    Le message d’erreur :
    console.println(this.path)
    RaiseError: Une erreur est survenue dans le fichier.
    Doc.path:1:Console undefined:Exec
    ===> Une erreur est survenue dans le fichier.

    undefined

    EDIT : oups je me rends compte que le topic aurait peut être du être mis dans la section “PDF general” ?

    #56638
    Merlin
    Maître des clés

    Bonjour,

    A mon avis il n’y a aucune chance pour que ça fonctionne jamais : soit c’est impossible d’origine, soit ç a été rendu impossible pour diverses raisons, dont la sécurité.

    Je t’aurais bien proposé de faire l’inverse (fichier .DOC placé en pièce jointe dans le PDF) mais il me semble bien que pour pouvoir modifier un fichier incorporé il faut Acrobat, je ne suis pas certain que ça fonctionne avec Reader…
    (A tester ?)

    :idee:

    #56639
    rattlesnake
    Membre

    Mmmmh c’est bien ce que je craignais :/

    Et bien merci pour ta réponse merlin, ça va me permettre d’arrêter de perdre du temps à chercher et à tourner en rond ^^

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