abracadabraPDF › Forums › PDF – Général › Transfert variables entre PDF
- Ce sujet est vide.
-
CréateurSujet
-
9 décembre 2010 à 18:31 #43867
bozaneaux
MembreBonjour,
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.
-
CréateurSujet
-
AuteurRéponses
-
9 décembre 2010 à 20:30 #51200
alex
ParticipantVoir 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]
10 décembre 2010 à 05:45 #51201bozaneaux
MembreBonjour,
Le débogueur de scripts JavaScript affiche :
Lecture des données a et bNotAllowedError:Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
Global.a:4:Field Lire:Mouse UpEn 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 < this.numFields; 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 < this.numFields; 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.
10 décembre 2010 à 08:08 #51202alex
ParticipantDepuis 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.
10 décembre 2010 à 18:43 #51203bozaneaux
MembrePointer 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
< /F <>>>
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. -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.