Donnez vie à vos documents numériques !
 

Répondre à : Dupliquer des champs de texte renommés automatiquement sur plusieurs pages

abracadabraPDF Forums PDF – Général Dupliquer des champs de texte renommés automatiquement sur plusieurs pages Répondre à : Dupliquer des champs de texte renommés automatiquement sur plusieurs pages

#66416
Merlin
Maître des clés

– Là tu m’as troué le cul !  :geek:
– Il n’y a vraiment rien à faire pour les fonctions ?
– J’ai noté que même la « valeur par défaut » du champ est répliquée.    :bravo:
– Je suis preneur du fichier Excel.
– Ce script ignore les champs qui ont le même nom (plusieurs champs avec le même nom sur la page de départ).  :Smiley02:

– J’ai modifié ton script pour mes besoins, celui-ci tient compte du type des champs (text, bouton, etc.).
Faute de pouvoir répliquer les fonctions j’ai fait en sorte que les champs-texte dont le nom contient « date » ou « Date » soient au format Date, et que les champs-bouton dont le nom contient « image » contiennent le script nécessaire à l’importation d’une image.
:Smiley15:

Ce script duplique les champs de la page 1 sur les pages 2 à 4, en leur ajoutant le préfixe « Px. » où x est le numéro de la page cible :

Code:
var lesChamps=new Array();
var typeDuChamp;
for (var i = 0; i var nomChamp=this.getNthFieldName(i);
var g = this.getField(nomChamp);
if (g.page==(0)) lesChamps.push(nomChamp);
}
for (var i=0; i var g = this.getField(lesChamps);
var typeDuChamp = g.type;
var lesCoord=g.rect;
for (var p=(1); p var nouveauNom = « P » + (p+1) + « . » + lesChamps;
var f = this.addField(nouveauNom, typeDuChamp, p, lesCoord);
f = this.getField(nouveauNom);
// répliquer toutes les propriétés (onglets : général, aspect, options, position)
for (var j in g) {
try {if (typeof g[j] != « function » && j != « name » && j != « type » && j != « page » && j != « rect ») f[j]=g[j];}
catch(e) {}
}
// champs bouton dont le nom contient « image » : ajout de l’action JavaScript
if ((f.type == « button ») && (/image/.test(f.name))) {
f.setAction(« MouseUp », « event.target.buttonImportIcon(); »);
}
// champs texte dont le nom contient Date ou date : ajout du format Date
if ((f.type == « text ») && (/[d|D]ate/.test(f.name))) {
var cFormat = « dd/mm/yyyy »;  // format français
f.setAction(« Format », « AFDate_FormatEx(«  »+cFormat+ » ») »);
f.setAction(« Keystroke », « AFDate_KeystrokeEx(«  »+cFormat+ » ») »);
}
}
}