Donnez vie à vos documents numériques !
 

Répondre à : Création de champs sur quelques pages seulement.

abracadabraPDF Forums PDF – Général Création de champs sur quelques pages seulement. Répondre à : Création de champs sur quelques pages seulement.

#66328
bebarth
Maître des clés

bonjour,
Voici une version un peu améliorée où le script :

  • Supprime les doubles caractères
  • Classe la plage des pages
  • Vérifie si la page indiquée existe
  • [/list]Il y aurait certainement d’autres vérifications à apporter…

    Code:
    var Reponse=””;
    while (Reponse==””) {
        var Reponse=app.response({
            cQuestion: “Indiquez les pages où insérer un champ :n• une virgule (,) pour séparer les pages ou les plagesn• un tiret (-) pour séparer les pages des plagesnExemple : 1,3-5,9”,
            cTitle: “Liste des pages”,
            cLabel: “Pages :”,
            cDefault: “”
        });
        // Test des caractères de la réponse
        for (var i=0; i        var n=Reponse.charCodeAt(i);
            if (n>57 || (n<48 && n!=44 && n!=45)) Reponse="";
        }
    }
    if (Reponse!=””) {
        // Suppression des , ou – en début ou fin de réponse
        if (Reponse.startsWith(“,”)) var Reponse=Reponse.substring(1);
        if (Reponse.startsWith(“-“)) var Reponse=Reponse.substring(1);
        if (Reponse.endsWith(“,”)) var Reponse=Reponse.substring(0,Reponse.length-1);
        if (Reponse.endsWith(“-“)) var Reponse=Reponse.substring(0,Reponse.length-1);
        // Suppression des incorrects
        var ok=””;
        while (ok==””) {
            var str=Reponse;
            var n=str.indexOf(“–“);
            if (n>-1) {
                Reponse=Reponse.replace(/–/g,”-“);
                var ok=””;
            } else {
                var ok=”OK”;
            }
            var n=str.indexOf(“,,”);
            if (n>-1) {
                Reponse=Reponse.replace(/,,/g,”,”);
                var ok=””;
            } else {
                var ok=”OK”;
            }
            var n=str.indexOf(“,-“);
            if (n>-1) {
                Reponse=Reponse.replace(/,-/g,”,”);
                var ok=””;
            } else {
                var ok=”OK”;
            }
            var n=str.indexOf(“-,”);
            if (n>-1) {
                Reponse=Reponse.replace(/-,/g,”,”);
                var ok=””;
            } else {
                var ok=”OK”;
            }
        }
        // Découpe le réponse en une table
        var laTable=Reponse.split(“,”);
        // Traitement de la table
        for (var j=0; j        // Vérification page simple ou plage
            var str=laTable[j];
            var n=str.indexOf(“-“);
            if (n>-1) {
                var debutPlage=Number(str.substring(0,n))-1;
                var finPlage=Number(str.substring(n+1))-1;
                // Classification
                var laPlage=[debutPlage, finPlage];
                laPlage.sort(function(a, b){return a-b});
                var debutPlage=laPlage[0];
                var finPlage=laPlage[1];
            } else {
                var debutPlage=Number(str)-1;
                var finPlage=Number(str)-1;
            }
            if (debutPlage<0) debutPlage=0;
            if (finPlage>this.numPages-1) finPlage=this.numPages-1;
            for (var nPage=debutPlage; nPage    }
    }

    @+
    :bonjour: