Donnez vie à vos documents numériques !
 

Transfert variables entre PDF

abracadabraPDF Forums PDF – Général Transfert variables entre PDF

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

    Bonjour,

    Soit un PDF A ayant les variables ART, DES, PRIX.
    Soit un PDF B ayant les variables ART, DES, PRIX.
    Les deux PDF sont ouverts, comment obtenir les variables ART, DES, PRIX du PDF B pour le mettre dans le PDF A ?

    Cordialement.

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #51200
    alex
    Participant

    Voir les fiches jointes.
    Ouvrez les simultanément dans Adobe Reader (mosaïque horizontale).
    Saisir des données dans les deux champs de saisie de la page A, pressez le bouton Ecrire: les données sont stockées comme variables globales.
    Cliquer sur la page B, pressez le bouton Lire, les données stockées sont lues.
    Même chose en partant de la page B ou de toute autre page identique.

    Pour plus de détails et comprendre, ouvrir les documents sous Acrobat et voir les deux scripts Lire() et Ecrire().
    Pour que les transferts fonctionnent, il faut qu’un évènement lance les scripts (ici les actions des boutons « Ecrire » et « Lire »).

    Nota:maquette réalisée avec un formulaire AcroForm destinée aux Reader 7,8,9,X.

    [attachment deleted by admin]

    #51201
    bozaneaux
    Membre

    Bonjour,

    Le débogueur de scripts JavaScript affiche :
    Lecture des données a et b

    NotAllowedError:Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
    Global.a:4:Field Lire:Mouse Up

    En fait lorsque j’utilise des variables globales persitantes, mes essais dans d’autres PDF fonctionnent bien pour la sauvegarde et la restauration dans le même PDF mais pas pour un autre.
    Exemple :
    {  var Chp = «  »;
      var F = this.documentFileName;
      var Fic = F.substring(0, F.length – 4);
      for ( var i = 0; i       { var Nom = this.getNthFieldName(i);
            var f = this.getField(Nom);
            var Typ = f.type;
            if (f.type == « text » && f.richText)
              Typ = « button »;
            if (!this.getField(Nom).readOnly && Typ != « button »)
              switch(Typ)
                { case « text » :
                      Chp += this.getField(Nom).value + « // »;
                      break;
                  case « checkbox » :
                      if (this.getField(Nom).isBoxChecked(0))
                        Chp += « *On// »;
                        else
                        Chp += « *Off// »;
                      break;
                }
          }
      var Cmd = « global. » + Fic + « =Chp »;
      eval (Cmd);
      global.setPersistent(Fic, true);
    })>>

    { var F = this.documentFileName;
      var Fic = F.substring(0, F.length – 4);
      var Cmd = « Chp=global. » + Fic;
      eval (Cmd);
    //
      var tableau = Chp.split(‘//’);
      j = 0;
      for ( var i = 0; i       { var Nom = this.getNthFieldName(i);
            var f = this.getField(Nom);
            var Typ = f.type;
            if (f.type == « text » && f.richText)
              Typ = « button »;
            if (!this.getField(Nom).readOnly && Typ != « button »)
              switch(Typ)
                { case « text » :
                    this.getField(Nom).value = tableau[j];
                    j += 1;
                    break;
                  case « checkbox » :
                    if (tableau[j] == « *On »)
                        this.getField(Nom).checkThisBox(0,true);
                        else
                        this.getField(Nom).checkThisBox(0,false);
                    j += 1;
                    break;
                }
          }
    })>>

    Remarques :
    Je n’utilise pas Acrobat mais Adobe Reader X.
    Il doit y avoir un paramètrage à faire au niveau d’Abobe  ?
    Sur mon site http://www.pdfdynamiques.com, si on utilise le PDF DECI_P1, cela fonctionne bien
    – Tu cliques sur sauver pour sauvegarder et sur Charger pour récupérer.
    Pour la version X d’Abode, je fais catualisation sur l’onglet d’internet car le PDF ne s’affiche pas directement.
    En version 8, pas de problèmes.

    Cordialement.

    #51202
    alex
    Participant

    Depuis la version 9, les données persistantes sont attachées au document qui les crée.

    Sûre de ces deux lignes?
              Typ = « button »;
            if (!this.getField(Nom).readOnly && Typ != « button »)
    Dans votre document, les nouveaux scripts de document (Load et Save) ne sont pas correctement intégrés.

    Je regarderai plus en détail votre problème la semaine prochaine.

    #51203
    bozaneaux
    Membre

    Pointer le contenu d’une variable sur une adresse URL de manière à avoir une base simulée

    Technique de programmation :
    – Soit une variable définie dans l’objet 17 de cette manière
      17 0 obj
      >/Ff 1/T(M_DONNEE)/DA(/Normal 10 Tf 0 g) /V 39 0 R/DV 39 0 R>>
      endobj
    – Son contenu pointe sur l’objet 39 qui va à une adresse URL.
      39 0 obj
      >>
      stream
      endstream
      endobj
    – Le contenu donne ART, DES, PRIX1, PRIX5 grâce à un JavaScript.
      Il me reste à résoudre le problème de l’adresse URL qui n’est pas stable.

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