Donnez vie à vos documents numériques !
 

Répondre à : Renseigner la valeur par défaut d’un champ de texte avec un script

abracadabraPDF Forums PDF – Général Renseigner la valeur par défaut d’un champ de texte avec un script Répondre à : Renseigner la valeur par défaut d’un champ de texte avec un script

#64710
_seb_
Participant

Merci 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_