Donnez vie à vos documents numériques !
 

Répondre à : Fractionnement doc et enregistrement avec nom spécifique

abracadabraPDF Forums PDF – Général Fractionnement doc et enregistrement avec nom spécifique Répondre à : Fractionnement doc et enregistrement avec nom spécifique

#63652
bebarth
Maître des clés

bonsoir,
Là, ça devrait marcher qu’il y ait ou pas des mots sur la page et qu’il y ait COMMUNE/SECTEUR ou pas !

Code:
console.show();
console.clear();
//Début durée
d0=new Date();
debut=util.printd(« dd-mm HH:MM »,d0);
console.println(« Début process: »+debut);
//Initialisation des variables
var Chemin = this.path;
var PathSansExt = Chemin.substring(0,Chemin.length-4);
var nomDocument = this.documentFileName;
var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
for (var p = 0; p < this.numPages; p++) {
    var ville = «  »;
    var ckWord = «  »;
    var i = 0;
    //recherche du mot COMMUNE
    var numWords = this.getPageNumWords(p);
    console.println(« La page: »+(p+1)+ » comporte « + numWords + » mots »);
    if (numWords > 0) {
    try {
        while (ckWord != « COMMUNE » && ckWord != « SECTEUR ») {
            var ckWord = this.getPageNthWord(p, i, true);
            //Coordonnées du mot
            var q = this.getPageNthWordQuads(p, i);
            // convert quads in default user space to rotated
            // user space used by Links.
            m = (new Matrix2D).fromRotated(this,p);
            mInv = m.invert()
            r = mInv.transform(q) //Coordonnées champ du mot trouvé
            r=r.toString() //Conversion en chaîne
            r = r.split(« , »); //Séparation de la chaîne à chaque virgule « , »
            //Position verticale du mot
            var posVert = r[3];
            i=i+1;
        }
        var posMot = posVert;
        while (posMot == posVert) {
            var ckWord = this.getPageNthWord(p, i, true);
            //Coordonnées du mot
            var q = this.getPageNthWordQuads(p, i);
            // convert quads in default user space to rotated
            // user space used by Links.
            m = (new Matrix2D).fromRotated(this,p);
            mInv = m.invert()
            r = mInv.transform(q) //Coordonnées champ du mot trouvé
            r=r.toString() //Conversion en chaîne
            r = r.split(« , »); //Séparation de la chaîne à chaque virgule « , »
            //Position verticale du mot
            var posMot = r[3];
            i=i+1;
            if (posMot == posVert) {var ville = ville +  »  » + ckWord;}
        }
        var str = ville;
        var debutVille = ville.substring(0,1);
        if (debutVille == » « ) {
            var res = str.slice(2);
        } else {
            var res = str.slice(1);
        }
        var ville = res;
        if (ckWord == « COMMUNE ») {
            console.println(« Commune : « +ville);
        } else {
            console.println(« Secteur : « +ville);
        }
        if (ville != «  ») {
            this.extractPages({
                nStart: p,
                cPath: repertoire+ville+ ».pdf »
                });
        }
    } catch(e) {
        app.alert({cMsg: »La page « + (p+1) +  » ne contient ni COMMUNE ni SECTEUR. », nIcon:2});
        }
    }
}
//Fin durée
df=new Date();
fin=util.printd(« dd-mm HH:MM »,df);
console.println(« Fin process: »+fin);
delta=(df.valueOf()-d0.valueOf())/1000/60;
console.println(« Duree process: »+delta+ » minutes »);

Si tu ne veux pas le message d’alerte, tu enlève la ligne

Code:
        app.alert({cMsg: »La page « + (p+1) +  » ne contient ni COMMUNE ni SECTEUR. », nIcon:2});

@+
:bonjour: