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+””)”);
}
}
}