abracadabraPDF › Forums › PDF – Général › Renseigner la valeur par défaut d’un champ de texte avec un script
- Ce sujet est vide.
-
CréateurSujet
-
25 octobre 2018 à 15:44 #45942_seb_Participant
Salut tout le forum.
J’ai besoin de votre aide.
Je souhaiterais renseigner la valeur par défaut de plusieurs champs de texte à l’aide d’un script.
Est-ce possible ? :Euuuh:
Merci de votre aide.
_seb_ -
CréateurSujet
-
AuteurRéponses
-
25 octobre 2018 à 16:13 #64704bebarthMaître des clés
bonjour,
Oui c’est possible !
Ai-je répondu à ta question ? :geek:Il faut écrire this.getField(“xxx”).defaultValue =…
@+
:bonjour:25 octobre 2018 à 16:54 #64705_seb_Participant:PouceHaut: parfait. Merci.
J’abuse un peu :Ooops: , est ce possible de le faire pour des cases d’option ? Comment différencier les cases d’option d’un même groupe ?
Merci.
_seb_25 octobre 2018 à 17:25 #64706MerlinMaître des clésest ce possible de le faire pour des cases d’option ? Comment différencier les cases d’option d’un même groupe ?
Pour les boutons-radios et les cases-à-cocher c’est la “valeur d’exportation” qui joue.
Code:// Create a radio button field and sets its export values.
var d = 40;
var f = this.addField(“myRadio”,”radiobutton”,0, [200, 510, 210, 500]);
this.addField(“myRadio”,”radiobutton”,0, [200+d, 510-d, 210+d, 500-d]);
this.addField(“myRadio”,”radiobutton”,0, [200, 510-2*d, 210, 500-2*d]);
this.addField(“myRadio”,”radiobutton”,0, [200-d, 510-d, 210-d, 500-d]);
f.strokeColor = color.black;
// Now give each radio field an export value
f.exportValues = [“North”, “East”, “South”, “West”];26 octobre 2018 à 02:03 #64707_seb_Participant:PouceHaut: super, merci
Je me suis fait un script pour réaliser des pages de QCM avec boutons d’options et zone de texte.
Code:nbBoutonsParColonne = 12 ;var taille = 30 ;
var gauche = 15;
var bas = 415;
var decalage = 0;
var numZtColonneGauche = 1;
var numZtColonneDroite = nbBoutonsParColonne + 1;// Création du formulaire sur deux colonnes de 12 boutons
for(var i = 1; i <= nbBoutonsParColonne ; i++){
// Bouton et zone de texte colonne de gauche
this.addField(“Br3″,”radiobutton”, 0, [15, bas + taille – decalage, 30, bas – decalage]);
this.addField(“ztBr” + numZtColonneGauche + “_3”, “text”, 0, [35, bas + taille – decalage, 345, bas – decalage]);// Bouton et zone de texte colonne de droite
this.addField(“Br3″,”radiobutton”, 0, [370, bas + taille – decalage, 385, bas – decalage]);
this.addField(“ztBr” + numZtColonneDroite + “_3”, “text”, 0, [390, bas + taille – decalage, 700, bas – decalage]);decalage = decalage + 35;
numZtColonneGauche++;
numZtColonneDroite++;
}// Bordure et valeur d’exportation des boutons-radios
var f = this.getField(“Br3”);
f.strokeColor = color.black;
f.exportValues =
[
“a”,
“b”,
“c”,
“d”,
“e”,
“f”,
“g”,
“h”,
“i”,
“j”,
“k”,
“l”,
“m”,
“n”,
“o”,
“p”,
“q”,
“r”,
“s”,
“t”,
“u”,
“v”,
“w”,
“x”
];// Valeur par défaut et mise forme des zones de texte
var numZt = 1;
for(var i = 0; i < f.exportValues.length; i++){
var zt = this.getField(“ztBr” + numZt + “_3”);
zt.textFont = “Verdana”;
zt.defaultValue = f.exportValues;
zt.textSize = 0;
zt.borderStyle = border.s;
zt.strokeColor = color.black;
zt.readonly = true;
numZt++;
}la police d’écriture pour les zones de texte ne fonctionne pas elle reste sur Helvetica :doute: Edit : corrigé.
_seb_
26 octobre 2018 à 07:39 #64708bebarthMaître des clésbonjour,
Il faut juste écrire :Code:zt.textfont = “Verdana”;@+
:bonjour:26 octobre 2018 à 08:08 #64709MerlinMaître des clésPas mieux.
Par-contre il faut savoir que l’utilisation d’une police de caractère non-standard dans un champ de formulaire provoque l’incorporation de la police entière non compressée dans le document PDF, ce qui augmente d’autant son poids.
(Les polices standards sont stockées dans le logiciel Acrobat, pas dans les documents).26 octobre 2018 à 15:47 #64710_seb_ParticipantMerci pour votre aide à tous les deux.
J’ai modifié mon script pour le rendre plus flexible.
Pour la police d’écriture ça ne fonctionne pas. :doute: Edit : corrigéPour les intéressés :
En pièce jointe mon fichier.
Et mon script :Code:function faireQcm(){// Début des variables à personnaliser__________________________________________________________
// Nombre de colonne de choix
var nbColonne = 2;// Nombre de choix par colonne
var nbBoutonsParColonne = 12;// Nom du groupe des boutons radios
var nomBr = “nomBoutonRadio”;
// Nom des champs de texte
var nomCt = “nomChampDeTexte”;
// Numéro de la page où mettre le QCM
var numeroDePage = 0;
// Hauteur des boutons-radios et des champs de texte
var hauteur = 23;
// Largeur des champs de texte
var largeurCt = 305;
// Position par rapport à la gauche de la page pour la première colonne
var gauchePc = 15;
// Position par rapport au bas le page pour le premier choix
var bas = 415;
// Espace entre un bouton-radio et son champ de texte
var espaceBrZt = 6;
// Décalage en hauteur des différents choix
var decalage = 35;
// Espace entre les colonnes
var espaceColonne = gauchePc + hauteur + espaceBrZt + largeurCt + 5;// Les réponses possibles du QCM
var reponseQcm =
[
“a”,
“b”,
“c”,
“d”,
“e”,
“f”,
“g”,
“h”,
“i”,
“j”,
“k”,
“l”,
“m”,
“n”,
“o”,
“p”,
“q”,
“r”,
“s”,
“t”,
“u”,
“v”,
“w”,
“x”
];// Configuration des champs de texte
// Police d’écriture
var policeEcriture = “Verdana”;
// Taille du texte
var tailleTexte = 0;
// Style des bordures
var styleBordure = border.s;
// Couleur de la bordure
var couleurBordure = color.black;
// Lecture seule
var lecture = true;// Fin des variables à personnaliser ___________________________________________________________________________________
// Création du QCM
var gaucheCt = gauchePc + hauteur + espaceBrZt;
var positionH = 0;
var positionL = 0;
var numCt = 1;for(var i = 1; i <= nbColonne ; i++){
for(var j = 1; j <= nbBoutonsParColonne ; j++){
// Boutons radios
this.addField
(
nomBr,
“radiobutton”,
numeroDePage,
[
gauchePc + positionL,
bas + hauteur – positionH,
gauchePc + hauteur + positionL,
bas – positionH
]
);
// Champ de texte
this.addField
(
nomCt + numCt,
“text”,
numeroDePage,
[
gaucheCt + positionL,
bas + hauteur – positionH,
gaucheCt + largeurCt + positionL,
bas – positionH
]
);
positionH = positionH + decalage;
numCt++;
}
positionH = 0
positionL = positionL + espaceColonne;
}// f est les boutons-radios
var f = this.getField(nomBr);
// Bordure des boutons-radios
f.strokeColor = color.black;
// Valeur d’exportation des boutons-radios
f.exportValues = reponseQcm;// Valeur par défaut et mise forme des champs de texte
var numCt = 1;
for(var i = 0; i < f.exportValues.length; i++){
// ct est la zone de texte
var ct = this.getField(nomCt + numCt);
// Valeur par défaut
ct.defaultValue = f.exportValues;
// Police d’écriture
ct.textFont = policeEcriture;
// Taille du texte
ct.textSize = tailleTexte;
// La bordure
ct.borderStyle = styleBordure;
// Couleur de la bordure
ct.strokeColor = couleurBordure;
// Lecture seule
ct.readonly = lecture;
numCt++;
}
resetForm();
}_seb_
26 octobre 2018 à 17:32 #64711bebarthMaître des clés…avec un F majuscule, ça devrait mieux marcher !!!
ct.textFont=policeEcriture;
@+
:bonjour:26 octobre 2018 à 18:06 #64712_seb_Participant:PouceHaut: bien vu, ça marche maintenant.
Merci.
_seb_
27 octobre 2018 à 09:10 #64713MerlinMaître des clés:bravo:
Si je peux juste me permettre :
QCM = Questionnaire à Choix Multiples
Or, avec des boutons-radios il n’y a qu’un seul choix possible…:Smiley00: :Smiley03:
27 octobre 2018 à 17:36 #64714_seb_Participant
Salut Merlin,Je pense que ça dépend de la configuration du QCM.
Il peut y avoir une question, plusieurs choix possibles, mais un seul est la bonne réponse.
Veuillez cocher la bonne réponse => radiobutton
Veuillez cocher la ou les bonnes réponses => checkbox
Comme au code de la route :Smiley01:
_seb_
28 octobre 2018 à 08:43 #64715MerlinMaître des clésC’était une boutade par rapport à ton document, je sais bien qu’on peut mettre plusieurs séries de questions.
:Smiley03:28 octobre 2018 à 09:02 #64716_seb_Participant:PouceHaut: :Smiley08: :Smiley03:
_seb_
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.