Donnez vie à vos documents numériques !
 

Générer des zones de texte d’après chaque ligne d’une zone multiligne

abracadabraPDF Forums PDF – Général Générer des zones de texte d’après chaque ligne d’une zone multiligne

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46140
    _seb_
    Participant

    Salut tout le forum,

    Je souhaite créer des zones de texte d’après des lignes d’une zone de texte multilignes.

    Pour l’instant je les génère d’après un array en javascript :

    Code:
    function genererZoneDeTexte(){
      // Début des variables à personnaliser__________________________________________________________

      // Les valeurs par défaut des zones de texte
      var valeurDefaut =
      [
          « a »,
          « b »,
          « c »,
          « d »,
          « e »
      ];

      // Décalage par rapport à la gauche de la page
      var gauchePc = 30;

      // Position par rapport au bas de la page pour la première ligne
      var bas = 450;

      // Hauteur des zones de texte
      var hauteur = 30;

      // Largeur des champs de texte
      var largeurCt = 320;

      // Décalage en hauteur des zones de texte
      var decalage = 32;

      // Configuration des champs de texte
      // Police d’écriture
      var policeEcriture = « Verdana »;
      // Taille du texte
      var tailleTexte = 16;
      // 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 des zones de texte
      var positionH = 0;
      var numChoix = 0;

      for(var i = 1; i       this.addField
          (
            « zone » + i,
            « text »,
            this.pageNum,
            [
                  gauchePc,
                  bas + hauteur – positionH,
                  gauchePc + largeurCt,
                  bas – positionH
            ]
          );

          // Valeur par défaut et mise forme des zones de texte
          // ct est la zone de texte
          var ct = this.getField(« zone » + i);
          // Valeur par défaut
          ct.defaultValue = valeurDefaut[numChoix];
          numChoix++;

          // 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;

          positionH = positionH + decalage;
      }
      resetForm();
    }

    l’inconvénient c’est qu’à chaque fois je dois modifier mon script. Cliquer sur modifier les scripts, sélectionner le script, modifier, ouverture de notepad++…etc

    je souhaiterais à la place de mon array dans un script c’est d’avoir sur la page une zone de texte multiligne dans laquelle je saisirais mes différentes valeur par défaut et ensuite générer mes zones de texte par rapport aux différentes lignes.

    Quelque chose dans ce style :

    Code:
    var numLigneZoneMultiligne = 1;
    for(var i =1; i       var ct = this.getField(« zone » + i);

          // Valeur par défaut
          ct.defaultValue = numLigneZoneMultiligne;
            numLigneZoneMultiligne++;

    }

    Est ce possible ?

    Merci pour votre aide

    _seb_

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Auteur
    Réponses
  • #66216
    Merlin
    Maître des clés

    Bonjour

    As tu un exemple ?
    Je ne comprend pas bien le but de ce script.
    :Euuuh:

    #66217
    _seb_
    Participant

    Bonjour,

    voilà un exemple.

    Si tu cliques sur faireFeuilleEvaluation
    Des champs de texte vont se générer grâce à un array dans le script.

    Ce que je souhaiterais c’est ne plus à avoir à modifier le script, mais taper directement les différentes évaluations dans le champ multiligne en bas à gauche.

    _seb_

    #66218
    Merlin
    Maître des clés

    Pourquoi ne pas saisir directement les libellés dans les champs texte concernés ?
    Ou bien faire que le script affiche une ou plusieurs boite(s) de saisie (consécutives) pour saisir les libellés à la volée ?
    Ce serait quand même beaucoup plus simple, non ?

    Parce-que saisir dans un champ pour transférer son contenu dans d’autres champs placés sur la même page me parait être un processus singulièrement tordu…
    :oh:  :doute:

    #66219
    _seb_
    Participant

    salut,

    parce que je saisi le texte dans les valeurs par défaut pour éviter qu’un reset forme vide les champs de texte.

    Pour rentrer les valeurs par défaut pour chaque champ de texte il faut pour chaque champ le sélectionner, ctrl+i, onglet Options, saisir la valeur et cliquer sur fermer.

    J’irais plus vite en saisissant uniquement un champ multiligne et en cliquant sur le bouton pour générer.

    C’est une page que j’utiliserai très souvent, je cherche à l’automatiser le plus possible.

    #66220
    bebarth
    Maître des clés

    bonjour,
    C’est une boite de dialogue où tu peux rentrer différentes données que tu veux si j’ai bien compris !!!
    Pour ma part, je pourrai regarder demain !
    @+
    :bonjour:

    #66221
    _seb_
    Participant

    Salut,

    je cherche une interface plus pratique que de devoir aller modifier le script. Une boite de dialogue j’y ai pas pensé, c’est une bonne idée. J’en ai jamais fais je vais regarder.

    Merci

    _seb_

    #66222
    bebarth
    Maître des clés

    bonjour,
    Je pensais pouvoir m’y mettre avant, mais je n’ai pas pu !
    Voici à ce quoi j’ai abouti.
    Tu me si si j’ai fait des erreurs ou si tu as besoin de comprendre quelque chose.
    @+
    :bonjour:

    #66223
    Merlin
    Maître des clés

    Waow !
    Ça c’est de la boite de dialogue.
    :bravo:

    #66224
    _seb_
    Participant

    Voici à ce quoi j’ai abouti.

    :bravo: :bonjour:  Merci c’est top.

    Tu me si tu as besoin de comprendre quelque chose.

    Je vais étudier tout ça et essayer de comprendre (ça va prendre du temps  :jerisjaune: ) et je reviens vers toi.

    Merci pour ton aide :bonjour:
    _seb_

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.