Donnez vie à vos documents numériques !
 

_seb_

Toutes mes réponses sur les forums

Affichage de 50 réponses de 1 à 50 (sur un total de 50)
  • Auteur
    Réponses
  • en réponse à : Configurer le format de plusieurs champs en même temps #72068
    _seb_
    Participant

    👍 super ce site, merci.

    en réponse à : Cibler un "radio button" d’un groupe de "radio button" #69103
    _seb_
    Participant

    Merci Merlin,

    J’ai créé ce type de QCM pour que les élèves puissent le compléter avec leur téléphone chez eux (la majorité n’ont pas de PC).

    Et en testant ton fichier, je viens de me rendre compte que de mettre une valeur par défaut n’est pas pratique pour un utilisateur qui remplit le QCM via une application.
    Quand on sélectionne le champ, la valeur par défaut reste, il faut l’effacer. :mur:

    Du coup, j’ai supprimé la valeur par défaut “Indiquez votre NOM ici” et l’action sur le champ “MouseDown”, “event.target.value = ”;” que j’avais initialement mis. :Smiley02:

    Par contre j’ai pu laisser le script de touches personnalisées

    Code:
    event.change = event.change.toUpperCase();

    qui lui fonctionne avec l’appli  :Euuuh:


    J’ai sauvegardé ton champ NOM  :PouceHaut: , que je vais dupliquer dans tous les fichiers que j’utilise en classe, avec les bons vieux PC et le logiciel Adobe reader.

    A quand une application qui gère le javascript  :Smiley13:

    en réponse à : Cibler un "radio button" d’un groupe de "radio button" #69101
    _seb_
    Participant

    Un grand merci à tous les deux  :bonjour:

    J’ai pu finir le QCM, en pièce jointe le résultat.

    Merci bebarth pour tes scripts, j’ai encore appris appris :PouceHaut: .

    _seb_

    en réponse à : Cibler un "radio button" d’un groupe de "radio button" #69095
    _seb_
    Participant

    Bonjour Merlin,

    Ce n’est pas possible, un seul bouton-radio peut être activé dans un groupe.

    je ne souhaite pas activer deux bouton-radio, mais changer la couleur du bouton-radio activé et celui représentant la bonne réponse

    Sinon, pour cibler un bouton-radio, ou une case à cocher, dans un groupe il faut s’adresser à son numéro de widget (visible dans le panneau des Champs) :
    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField.htm

    Merci, je pense que c’est ce dont j’ai besoin, je vais faire des essais.

    _seb_
    Participant

    Le scénario est simple : il a ouvert et rempli le formulaire avec Aperçu (alias “the PDF killer”) et ensuite il l’a imprimé en PDF.  :oh: :mur:

    En fait ce sont deux fichiers différents, un 3e m’est arrivé cet après midi :
    c278.jpg

    Tu devrais lire cet article : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/forcer-utilisation-pdf-avec-acrobat-reader/

    Merci j’ai traité le problème par calque pour les utilisateurs qui utiliseraient un PC ou Mac.

    Y-a-t-il une solution pour les utilisateurs qui utiliseraient une application autre que acrobat reader ? ( J’ai vraiment hâte que cette appli gère le javascript).

    Merci

    _seb_

    _seb_
    Participant

    Merci, j’ai pu trouver les coupables.


    8hef.jpg


    05ok.jpg

    Bon va falloir que je fasse passer le message.


    _seb_
    Participant

    Presque, en fait c’est “alt gr”

    J’ai remarqué que ça fonctionne également avec la touche Ctrl toute seule.

    Moi je peste contre les graphistes qui les ont fait,

    J’imagine trop bien  :Smiley08:

    mais si c’est toi qui fait le formulaire et que les espacements ne sont pas réguliers il ne faut t’en prendre qu’à toi-même.

    Oui mais ça, c’était avant  :Smiley08: , maintenant je sais faire.

    Mais je trouve que dans l’ensemble ton formulaire va bien, démonstration :

    Ah ben celui-là, j’espère bien, je l’ai conçu en me soucient tout particulièrement de la mise en place des champs, tout est bien aligné et les espacements sont identiques, si on utilise la détection automatique, les 118 champs sont tous détectés, il n’y en a pas un de plus.

    _seb_
    Participant

    Bonjour, merci pour vos réponses. :bonjour:

    je suppose “ctrl alt” sur PC tu peux dupliquer aisément un champ !

    Oui c’est bien cette combinaison sur PC.

    L’application Acrobat offre aussi pas mal de possibilités pour avoir des champs alignés, répartis ou centrés…

    L’agencement des champs de formulaire entre eux ne me pose pas trop de problèmes. Acrobat c’est bien amélioré avec ALIGNER, CENTRER, CORRES. TAILLE et DISTRIBUER.
    Là où je trouve que c’est fastidieux, long et répétitif et c’est quand on doit les agencer par rapport à du texte. Ce qui me dérange beaucoup c’est qu’il n’y est pas d’accroche entre le texte et le champ.
    Par exemple quand j’utilise « Créer plusieurs copies… », comme les espacements entre les lignes de texte ne sont pas forcement uniformes, il faut déplacer manuellement les champs. Les remonter un peu, les descendre un peu les décaler un peu, les renommer par rubrique……….

    Je crée rarement des formulaires, en général je dois faire avec ce qu’on me donne.

    Ah ok, je comprends, tu dois « interactiver » des documents existants. Effectivement si la personne n’a pas tenu compte de la détection automatique elle doit être hasardeuse suivant l’agencement. :mur:

    Je pars d’une page blanche du coup, je peux me préparer un formulaire qui permettra une bonne détection des champs.
    J’ai changé mon gabarit de document depuis notre conversation. Maintenant, la détection automatique est nickel.
    J’utilise Word avec des tableaux sans bordure pour le texte et avec bordure pour les champs.
    Du coup, je peux facilement espacer les lignes de texte et les uniformiser, puis centrer horizontalement et verticalement mon texte. Le champ est détecté juste en face. Plus besoin de duplication.
    Un exemple en pièce jointe. Ça peut peut-être intéresser du monde.

    “La banque du champ”.

    On doit avoir la même, enfin à quelque chose près. :Smiley03:

    Merci encore.
    _seb_

    _seb_
    Participant

    Bonjour Merlin,

    Comment t’y prends-tu pour créer tes formulaires, avec quel logiciel ?
    Si j’ai bien compris, tu n’utilises pas du tout la détection de champ de formulaire.
    Pour la duplication, comment fais-tu ? Quand tu crées ton premier champ les duplications porteront le même nom avec un chiffre. Tu renommes tous les champs un par un ?

    J’utilise Word pour créer le support, texte et tableaux, lignes, cercles, carrés pour faciliter la détection des champs de formulaire.
    Ensuite je créé le formulaire en laissant Acrobat détecter les champs, puis je renomme un par un.
    Je n’arrive pas à faire des documents propres en faisant moi même les champs. Ce n’est jamais bien aligné. Je passe beaucoup trop de temps à essayer d’aligner les champs avec le texte. J’ai hâte qu’Acrobat sache faire ça, à la manière de Writer.

    _seb_

    _seb_
    Participant

    Salut bebarth,

    Ligne 66 : Trier l’array en fonction de la hauteur des champs et de leur position sur x -> Le script est OK, mais est-ce vraiment utile ? (c’est un plus).

    C’est une préférence perso, une numérotation sur la largeur plutôt qu’en hauteur, comme on complète généralement un document du haut vers le bas.

    Ensuite pour finir le travail, il faut cliquer sur trier les champs par ordre alphabétiques dans acrobat et supprimer tous champs du bas qui commence par une lettre.
    Ça peut se faire automatiquement avec “removeField” et le nom original du champ

    Je ne connaissais pas. Merci  :bonjour: :PouceHaut:

    _seb_
    Participant

    Ok merci, je comprends un peu mieux. Dans quel cas est-ce important de faire cette vérification ?

    Je suis en train de modifier le code pour qu’il s’adapte à l’arborescence de mon disque dur. Je risque d’avoir besoin de toi.  :Smiley08:

    _seb_
    Participant

    Bonsoir,

    je sèche sur ces lignes dans la partie Affichage des corrigés :

    Code:
          for(var j in g){
            try{
                if(typeof g[j] != “function” && j != “name” && j != “type” && j != “page” && j != “rect”){
                  h[j] = g[j];
                  h.fillColor = color.yellow;
                }
            }catch(e){}
          }

    Merci

    _seb_

    _seb_
    Participant

    Bravo :bravo: , merci beaucoup pour ce boulot, hallucinant. :PouceHaut:

    Je vais essayer de comprendre le code :Euuuh: , je risque de prendre pas mal de temps.  :Smiley08: 

    Je découvre addWatermarkFromText, je m’en resservirai.

    Merci encore.

    _seb_

    _seb_
    Participant

    Bonsoir,
    voilà ce que j’ai prévu :

    • Création du support de formulaire avec Word
    • Création du formulaire avec Acrobat DC -> détection et création des champs
    • Remplissage du formulaire avec les bonnes réponses
    • Lancement du script pour récupérer les bonnes réponses dans l’ordre ascii des caractères des noms des champs
    • [/list]

      for (var i=0; i

    • Récupération des bonnes réponses dans la console :
    • [/list]“5”,
      “Non”,
      “Oui”,
      “0”,
      “2”,

    • Création de l’array reponse (enlever la dernière virgule)
    • [/list]

      Code:
      var reponse =
      [
          “5”,
          “Oui”,
          “Non”,
          “0”,
          “2”
      ];

    • En action pour mon bouton corriger, la fonction verifierReponse qui vérifie les réponses dans l’ordre ascii des caractères des noms des champs
    • [/list]

      Code:
      function verifierReponse() {
        var tabNomChamp = [];

        for (var i = 0; i < this.numFields; i++) {
          tabNomChamp.push(this.getNthFieldName(i));
        }

        for (var i = 0; i < reponse.length; i++) {
          // La réponse correspond au contenu de l’array (correct)
          if (this.getField(tabNomChamp).value == reponse) {
            // Mettre le champ en vert
            this.getField(tabNomChamp).fillColor = color.green;
          } else {
            // Si la réponse est incorrect
            // Mettre le champ en rouge
            this.getField(tabNomChamp).fillColor = color.red;
          }
        }
      }

      Qu’en pensez-vous ?

      Code:
      faire une copie remplie avec les bonnes réponses qui serait ton fichier de contrôle, puis avec un script on vient comparer tous les champs du formulaire de l’élève.

      TRÈS intéressé, on peut ouvrir 2 fichiers, dans 2 onglets différents et les comparer ?

      _seb_

    _seb_
    Participant

    Il faut aussi vérifier d’autres types de champs ? Lesquels ?

    Il peut y avoir tous les types de champs, mais si déjà c’est réalisable rien que sur les champs texte, c’est beaucoup.

    Y a-t-il des champs qui ne sont pas concernés ?

    Oui, il y aura au moins un champ pour le nom de la personne et un champ pour sa note.

    Y a-t-il une seule question/réponse par ligne (une seule colonne).

    Non pour l’instant, mais je peux faire mes futurs formulaires avec une seul colonne.

    Il y a plusieurs pages a traiter sur le document ?

    Oui, ça sera le cas quasiment à chaque fois.

    Pour ton fichier, dans la console tu tappes :
    for (var i=0; i

    J’ai rempli le formulaire, j’ai lancé :

    Code:
    for (var i=0; i

    Du coup j’obtiens :

    0 : Capteurs : 2
    1 : Dans le système A y atil des boutons poussoirs : Oui
    2 : Dans le système A y atil des voyants : Non
    3 : Distributeurs : 3
    4 : Vérins : 5
    5 : corriger :

    Donc maintenant j’ai le nom du champ avec la bonne réponse.

    Comment faire pour stocker dans deux array les résultats, un array pour le nom des champs et un array pour les réponses ?

    Merci.

    _seb_

    _seb_
    Participant

    Merci pour ton aide. :bonjour:

    j’ai regardé ton fichier et les champs passent en vert s’ils contiennent une des valeurs de l’array.

    Mon problème c’est que je souhaite que le champ passe en vert s’il contient la bonne réponse à la question.

    Je joint un fichier ça sera plus facile.

    Le nom des champs a été créé automatiquement lors de la détection.

    Dans les scripts du document :

    • dans _tabReponse, l’array avec les bonnes réponses dans l’ordre des questions.
    • la fonction verifierReponse doit vérifier que les champs contiennent la bonnes réponses, sans à avoir à changer le nom des champs sinon c’est pas drôle
    • [/list]
      Le bouton corriger lance la fonction verifierReponse

      Je voudrais ne pas à avoir à changer le nom des champs, j’en ai plus de 100 dans mon document.

      Merci

      _seb_

    _seb_
    Participant

    je mettrais la fonction en script de document, puis en script de calcul de chaque champ j’écrirais :

    Code:
    XXXXXXXXXXXX=this.getField(event.name);
    verifierReponse ();

    Bonsoir, j’ai pas tout compris. :Smiley11:  je voudrais parcourir les champs avec une boucle for et comparer leur contenu avec mon array.

    Si je fais :
    En script de calcul de chaque champ :

    Code:
    var nomChamp = event.target.name;
    verifierReponse();

    En script de document

    Code:
    function verifierReponse(){
          // Parcourir l’array reponse
          for(var i = 0; i < tabReponse.length; i++){
                // La réponse correspond au contenu de l’array (correct)
                if(this.getField(nomChamp).value == tabReponse ){
                      // Mettre le champ en vert
                      this.getField(nomChamp).fillColor = color.green;
                }
                // Si la réponse est incorrect
                else{
                      // Mettre le champ en rouge
                    this.getField(nomChamp).fillColor = color.red;
                }
          }
    }

    Comment lister les champs et les comparer à mon array ?

    …et pour écrire automatiquement ce script dans les 121 champs, il faut en écrire un autre.
    La complexité de ce dernier sera en fonction de la dénomination des champs à traiter !

    @+

    Voilà mon problème, le nom des champs, ils sont nommés lors de leur détection et création par acrobat.

    _seb_
    Participant

    Lister tous les champs et comparer leur valeur avec une variable je sais faire

    Quel que soit leur nom ?

    en réponse à : Astuces pour détection de zones de formulaire #67109
    _seb_
    Participant

    C’est une excellente question, merci de l’avoir posée.
    :joker:  :Smiley03:

    :Smiley08: :Smiley03:

    en réponse à : Astuces pour détection de zones de formulaire #67107
    _seb_
    Participant

    top merci  :PouceHaut: . Je vais regarder de prés.

    hier j’ai fait d’autres tests. (pièces jointes)

    Avec le fichier test1.docx, Acrobat crée deux groupes de boutons, mais il met les 2 cases oui dans un groupe et les deux cases non dans l’autre.

    Avec le fichier test2.docx, qui est le même que test1.docx, mais avec une question supplémentaire, les deux groupes sont créés avec les deux bonnes cases à option, une oui et une non pour chaque groupe.

    C’est étonnant, pourquoi cette question supplémentaire fait qu’il détecte parfaitement les deux groupes de cases à option ?

    J’ai découvert ça parce que je faisais des essais pour qu’il détecte les 2 groupes de cases à option, j’ai finalement abandonné et je me suis fait à l’idée de devoir le faire manuellement, j’ai poursuivi mon document et quand je l’ai retesté, tout était correctement détecté.

    _seb_

    Edit : parfait les épisodes 52 et 53 ça aide bien. Merci  :PouceHaut:

    en réponse à : Astuces pour détection de zones de formulaire #67105
    _seb_
    Participant

    Merci.

    Effectivement ça fonctionne bien.

    J’ai fais plein de tests différents, le résultat est très aléatoire.
    Il varie suivant la distance entre le cercle est le texte, entre la question et les cercle, la distance entre les questions………etc

    en réponse à : Compter le nombre de mots dans un champ #66793
    _seb_
    Participant

    :PouceHaut: Top merci

    j’avais trouvé ce code mais ça fonctionne moins bien que le tiens. Je n’ai pas compris comment fonctionne RegExp.

    Code:
    var chaine = this.getField(‘reponse1’).value;
    var regex = new RegExp(“[ ‘-]+”, “g”);
    chaine = chaine.split(regex);
    var nb = chaine.length;
    this.getField(‘nbrMotReponse1’).value = nb;

    source : compteur de mots

    Merci pour ton aide.

    _seb_

    en réponse à : Insérer le label d’un bouton dans un champ texte au clic #66618
    _seb_
    Participant

    Merci bebarth. :bonjour:
    un favoris de plus :Smiley01:

    _seb_

    en réponse à : Insérer le label d’un bouton dans un champ texte au clic #66616
    _seb_
    Participant

    Bonsoir Messieurs

    C’est exactement ce dont j’avais besoin.  :PouceHaut:

    Merci pour votre aide.

    Dans quelle documentation j’aurais pu trouver buttonGetCaption() ? J’ai cherché ici, mais ce n’est pas mentionné.[/font]

    _seb_

    en réponse à : PDF avec script JavaScript sur tablette Android #58429
    _seb_
    Participant

    Je tente ma chance deux ans plus tard.

    Des nouvelles côté appli pour pdf avec javascript ?

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

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

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

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

    _seb_
    Participant

    Merci.

    voilà des liens que je vais mettre de suite dans mes favoris. :PouceHaut:

    _seb_
    Participant

    Merci à tous les deux.

    bon courage car ce n’est pas ce qu’il y a de plus simple à comprendre !

    Effectivement. Va falloir que je comprenne comment ça s’utilise. :Smiley01:

    En clair “event.target” signifie qu’il s’agit du champ cliqué par l’utilisateur, ça évite de devoir le nommer et ça permet d’utiliser un seul et même script pour plusieurs champs.

    Je cherche la liste de tout ce qu’on peut écrire aprés event.target.
    dans ma situation c’est page pour le numéro de page. Mais quels sont les autres “arguments” que l’on peut cibler ?

    _seb_

    _seb_
    Participant

    :PouceHaut:  Merci.

    Existe-t-il un document ou un site référence qui répertorie les event.target. ?

    _seb_

    _seb_
    Participant

    :PouceHaut: :Smiley08: :Smiley03:

    _seb_

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

    _seb_
    Participant

    :PouceHaut:  bien vu, ça marche maintenant.

    Merci.

    _seb_

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

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

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

    en réponse à : Autoriser d’aller à la page suivante si un champ est rempli #64682
    _seb_
    Participant


    Salut Merlin,

    en mettant le script en action de fermeture de page j’ai essayé avec la molette de la souris, les flèches du clavier, les boutons de l’interface d’Acrobat, en cliquant sur un signet et en cliquant sur une vignette je n’arrive pas à quitter la page.

    En pièce jointe un fichier test.

    _seb_

    en réponse à : Autoriser d’aller à la page suivante si un champ est rempli #64680
    _seb_
    Participant

    Merci bebarth  :PouceHaut:

    Je l’ai mis en script de fermeture de page comme ça peu importe comment la page est quittée (clic sur bouton – clic sur une autre page – molette souris) il y a une vérification.

    J’ai également mis le focus en script d’ouverture de page.

    Merci.

    _seb_

    en réponse à : Verrouilage de champ inefficace avec annuler #61751
    _seb_
    Participant

    Oui ça fonctionne

    Merci  :Smiley01:

    en réponse à : Verrouilage de champ inefficace avec annuler #61749
    _seb_
    Participant

    Bonjour,

    Le fichier est sur le bureau (windows xp)

    La console :

    var nomFichier = this.documentFileName;
    var aMyPath = this.path.split(“/”); // Split Path into an array so it is easy to work with
    aMyPath.pop(); // Remove old file name
    aMyPath.push(nomFichier); // Add new file name
    this.saveAs(aMyPath.join(“/”)); // Put path back together and save
    undefined
    NotAllowedError: Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
    Doc.saveAs:5:AcroForm:Button2:Annot1:MouseUp:Action1

    Edit :

    Merci c’est résolu

    mini_267232Image1New.jpg

    J’ai pas eu le réflexe d’interroger la console

    en réponse à : Verrouilage de champ inefficace avec annuler #61747
    _seb_
    Participant

    Salut bebarth

    Je viens seulement de découvrir ta réponse.
    Merci pour ton aide.
    Le fichier doit être “Enregistré”.
    J’ai testé ton code et je n’ai pas réussi à le faire fonctionner.
    Quand je clic sur le bouton le fichier ne s’enregistre pas.
    N’ayant pas de connaissance en javascript je ne suis pas capable de l’améliorer.

    en réponse à : Verrouilage de champ inefficace avec annuler #61744
    _seb_
    Participant

    C’est un réglage accessible dans les Préférences (Document : Restaurer les derniers…) de chaque logiciel, sinon c’est certainement JavaScriptable

    Merci  :PouceHaut:

    On ne peut pas, il faut utiliser la touche Tabulation

    J’ai testé :
    – avec pdf xchange viewer et le curseur se place lui même, par contre la note ne se met pas à jour lors de l’évaluation :mur:
    – avec Foxit Reader le curseur ne se place pas lui même, le mot de passe est en clair mais la note se met à jour lors de l’évaluation :mur:

    en utilisant un menu déroulant par exemple.
    Comme dans le ci-joint.

    Merci beaucoup.

    Je l’ai d’abord testé avec adobe reader XI et le verrouillage ne fonctionne pas. :mur:
    Avec acrobat pro il fonctionne  :Euuuh:

    en réponse à : Verrouilage de champ inefficace avec annuler #61741
    _seb_
    Participant

    Il y a la solution de modifier la note par JavaScript, un bouton pour incrémenter un autre pour décrémenter.

    Mais ce n’est pas pratique, ça fera beaucoup de clic et de code.

    edit :

    1. Fermer et réouvrir le document serait moins contraignant s’il s’ouvrait à la dernière page consultée. Mais il s’ouvre au début. Est-il possible de changer ?
    2. Où mettre le focus pour que le curseur se mette directement dans la fenêtre mot de passe quand je clic sur “Evaluer” ?
    3. Je voudrais changer le saveAs en Save c’est possible en javascript ? je n’y arrive pas
    4. [/list]
      fichier joint avec modification de la note par javascript

    en réponse à : Verrouilage de champ inefficace avec annuler #61739
    _seb_
    Participant

    Bonjour,

    Merci pour ton aide.

    En pièce jointe un exemple.

    Je lis les PDF avec Adobe Reader 11.

    Les champs sont verrouiller par JavaScript.

    L’élève fait son TP, quand il arrive sur une page d’évaluation il m’appelle.

    Je clic sur “Evaluer”, rentre mon mot de passe et j’évalue.

    Je clic ensuite sur “Enregistrer” pour verrouiller les champs d’évaluation et enregistrer le fichier.

    Et l’élève poursuit son TP, mais si il fait Ctrl+z ou annuler il peut modifier son évaluation.

    _seb_
    Participant

    Un début voir pièce jointe :

    var fchamp1 = this.getField(“champ1”);
    var fchamp2 = this.getField(“champ2”);
    var fchamp3 = this.getField(“champ3”);

    this.mailDoc(true, “adresse mail“, “”, “”, fchamp1.value+”-“+fchamp2.value+”-“+fchamp3.value,””);

    _seb_
    Participant

    Je me permet de squatter cette discussion.

    J’ai également utilisé le script de déverrouillage de champs par mot de passe.

    Y a t-il moyen que le champ texte dans lequel il faut insérer le mot de passe soit un champ de mot de passe où le texte est remplacé par des étoiles ?

    Edit :

    J’ai trouvé ma solution :

    cQuestion: “Entrez votre mot de passe”, cTitle: “Mot de passe”, bPassword:true });

    _seb_
    Participant

    Merci Merlin

    Je vais tester ces applis.

    Existe t-il un moyen de tester les applis payantes avant de les acheter ?

    _seb_
    Participant

    :mur: la réponse est quelques messages plus bas désolé.

    http://abracadabrapdf.net/forum/index.php/topic,2616.0.html

Affichage de 50 réponses de 1 à 50 (sur un total de 50)