abracadabraPDF › Forums › PDF – Général › Fractionnement doc et enregistrement avec nom spécifique › Répondre à : Fractionnement doc et enregistrement avec nom spécifique
20 mars 2018 à 21:44
#63652

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 »);
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: