Donnez vie à vos documents numériques !
 

Suppression d’espaces dans formulaire Acrobat pro X. – RÉSOLU

abracadabraPDF Forums PDF – Général Suppression d’espaces dans formulaire Acrobat pro X. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44588
    pâquerette
    Membre

    Bonjour,

    Je génère automatiquement dans acrobat formulaire l’adresse email ci jointe ex :”jean claude.de britigny sur orge” au moyen d’un bouton d’actualisation mais, il y a un hic car je souhaiterai que les espaces soient automatiquement supprimés dans l’email sachant qu’elle est générée en fonction du prénom et nom rentrés dans les champs concernés.

    Existe t-il un script pour ce type de demande ?
    Merci à tous.

    Cordialement.

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

    :joker:

    #55297

    Bonjour,

    :idee: Je vais donner -à nouveau- une solution que j’utilisais souvent du temps où je programmais (basic, logo, HyperTalk…) :
    1.On prend la chaine de caractères tapées.
    2.On y compte le nombre total de caractères.
    3.On y sépare / examine les caractères un par un. Si le code ASCII est égal -de mémoire- à 32 (soit un espace) : on remplace par un autre caractère; ici un point.
    4.On rajoute un par un les caractères dans une variable et le tour est joué.

    Il ne reste plus -si c’est possible- qu’à :doute: programmer tout cela en JavaScript.

    Bien cordialement.
    Lionel :alien2:

    #55298
    pâquerette
    Membre

    Merci Lionel, je suis un peu léger en programmation donc, je vais imposer la saisie manuelle des emails.
    Bonne journée.

    #55299
    Stubiana
    Membre

    Je génère automatiquement dans acrobat formulaire l’adresse email ci jointe ex :”jean claude.de britigny sur orge”

    Je ne comprend pas trop, l’exemple n’est pas une adresse email  :Euuuh:

    Sinon voila la fonction qui renvoie une chaine de caractère dont les espaces ont été remplacés par des points:

    function suppr_space(chaine)
    {
          var resultat=””;
          for (var i=0;i      {
                  if (chaine.charCodeAt(i) == 32)
                        resultat = resultat + “.” ;
                  else
                        resultat = resultat + chaine.charAt(i);
          }
          return resultat;
    }

    Cependant je ne vois pas l’utilité de faire ça pour créer une adresse email, si tu veux la créer à partir du nom et du prénom tu n’a qu’à concaténer les 2 champs en les séparant par un point, puis en ajoutant le FAI après, ex :

    var nom = this.getField(“Nom”).value;
    var prenom = this.getField(“Prenom”).value;
    var adresse = prenom + “.” + nom + “@free.fr”;

    Cordialement

    #55300
    pâquerette
    Membre

    Bonsoir à tous et bonsoir Stubiana,

    Je pense m’être mal expliqué la première fois.
    J’ai crée une maquette pour des cartes de visites sous Indésign CS5.5 et des champs formulaires dans Acrobat Pro X.
    Le client saisi son prénom dans un champ et son nom dans un autre et le tout en UpperCase comme la charte graphique me l’impose.

    À l’aide d’un bouton, “actualiser les champs” le client génère son adresse email automatiquement et cela fonctionne très bien.
    J’ai concaténé le prénom et le nom + @free.fr par exemple.

    Tant qu’il s’agit d’un prénom “classique” du style “jean ou paul” il n’y a aucun soucis mais quand le prénom et le nom sont par ex: “jean pierre” de prénom et de nom “du comté de la tour” par ex le script ne fonctionne pas.
    Autrement dit, l’adresse email par convention doit être “jeanpierre.ducomteducoin@free.fr”, les espaces ne sont pas supprimés et, il faut le faire manuellement.
    Voici le script que j’ai placé dans “script personnalisé”.

    event.value = event.target.value.toLowerCase();
    str = event.value;
    event.value = str.replace(/(^|s|[-,.])w/g,function(cWrd){return cWrd.toLowerCase()});

    var f = this.getField(“Texte12”);
    f.value = (this.getField(“Texte4”).value
    + “.” + this.getField(“Texte5”).value)
    +”@free.fr”;
    ;
    var r = ‘/(é|É|è|È)/g’;
    var str = event.change;
    var match = str.match(eval(r));
    if (match)
    {
      event.change = “e”;
    }

    donc, voilà mon petit souci.

    Bonne soirée.
    Cordialement

    #55301
    Stubiana
    Membre

    Bonjour paquerette,

    Où as-tu placé ce script ? Sur le bouton ? Sur le champs adresse mail ?

    Si ton script marche bien mais qu’il faut simplement enlever les espaces, essaye ça :

    function suppr_space(chaine)
    {
          var resultat=””;
          for (var i=0;i      {
                  if (chaine.charCodeAt(i) != 32)
                        resultat = resultat + chaine.charAt(i);
          }
          return resultat;
    }

    event.value = event.target.value.toLowerCase();
    str = event.value;
    event.value = str.replace(/(^|s|[-,.])w/g,function(cWrd){return cWrd.toLowerCase()});

    var f = this.getField(“Texte12”);
    f.value = suppr_space(this.getField(“Texte4”).value)
    + “.” + suppr_space(this.getField(“Texte5”).value)
    +”@free.fr”;
    ;
    var r = ‘/(é|É|è|È)/g’;
    var str = event.change;
    var match = str.match(eval(r));
    if (match)
    {
      event.change = “e”;
    }

    Cordialement

    #55302
    pâquerette
    Membre

    Super, ça marche,
    Merci beaucoup Stubiana.
    A+
    :extra:

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