Bonjour,
Je sèche sur un bout de script.
J'ai un pdf avec des signets sous cette forme :
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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() } } }
Si vous avez une idée.
Merci![]()
Partager