Bonjour,

Je sèche sur un bout de script.

J'ai un pdf avec des signets sous cette forme :

Nom : signets.png
Affichages : 126
Taille : 6,5 Ko

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 : 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()		
		}
	}	
}
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