1 pièce(s) jointe(s)
[Adobe] Script suppression signets
Bonjour,
Je sèche sur un bout de script.
J'ai un pdf avec des signets sous cette forme :
Pièce jointe 144244
Ce que je souhaite faire :
-supprimer tout les signets commençant par "0" et supprimer les signets quand l'enfant est identique au parent (ici "ACCESSOIRES")
Mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| function DumpBookmark(bkm, nbchild, avant)
{
var i = 0;
var longueur;
if (bkm.children != null)
{
longueur=bkm.children.length
for ( i = 0; i < longueur; i++)
DumpBookmark(bkm.children[i], bkm.children.length, bkm.name);
avant=bkm.name
}
else
{
if (((bkm.name == avant)&&(nbchild==1)) || (bkm.name.substring(0,1) == "0"))
{
// quand il y a un seul bookmark 0 ça fonctionne mais pas quand il y en a plusieurs
longueur=longueur-1
console.println("Suppression de " + bkm.name)
bkm.remove()
}
}
} |
Le script fonctionne bien pour les signets enfants identique au parent et quand il y a un seul signet commençant par 0 mais dés qu'il y a 2 ou plus (cf image ci dessous) j'ai une erreur. Dans l'exemple ci dessus, en mode debogage une fois qu'il a supprimer le signets "000" (bkm.children[0]), il passe directement au "020" (bkm.children[2]) pour le supprimer puis met une erreur.
Si vous avez une idée.
Merci ;)