abracadabraPDF › Forums › PDF – Général › menu pop-up
- Ce sujet est vide.
- AuteurMessages
- 10 mars 2008 à 22:05 #43636
nicolas
InvitéBonjour,
je voudrais faire un menu déroulant dans un pdf. J’ai trouvé des exemples assez bien documentés que j’ai réussi à adapter. Le menu apparaît et se déploie correctement mais impossible d’atteindre les pages souhaitées. J’ai positionné les signets (qui fonctionnent) et vérifié les noms mais nada… Je suis sûr que ça doit être tout bête pourtant. :mur:
Auriez-vous une idée pour m’aider?
voici mon script :
var cDest = app.popUpMenu( « section 1″, »section 2 », [« section 3 », « section 3-1 », « section 3-2 », « section 3-3 »], [« section 4″, »section 4-1″, »section 4-2″, »section 4-3″, »section 4-4″, »section 4-5″, »section 4-6 »],[« section 5 », « section 5-1 », « section 5-2 », « section 5-3 », « section 5-4 »],[« section 6 », « section 6-1 », « section 6-2 », « section 6-3 », « section 6-4 »], « section 7 », « section 8 » );
this.gotoNamedDest(cDest);merci
11 mars 2008 à 19:40 #49702Merlin
Maître des clésLes Destinations et les Signets ce sont 2 choses différentes, est-ce que les Destinations existent bien dans le fichier ?
(Menu Affichage > panneaux de navigation > Destinations)
:doute:
19 mars 2008 à 06:34 #49703alex
MembreLa solution à votre problème n’est pas simple car il faut parcourir l’arborescence des signets que l’on ne connait pas à priori, voilà donc le code à tester et vérifier …
var cDest = app.popUpMenu( « section 1″, »section 2 », [« section 3 », « section 3-1 », « section 3-2 », « section 3-3 »], [« section 4″, »section 4-1″, »section 4-2″, »section 4-3″, »section 4-4″, »section 4-5″, »section 4-6 »],[« section 5 », « section 5-1 », « section 5-2 », « section 5-3 », « section 5-4 »],[« section 6 », « section 6-1 », « section 6-2 », « section 6-3 », « section 6-4 »], « section 7 », « section 8 » );
//this.gotoNamedDest(cDest);
//fonction de recherche des signets
function searchBookmarks(bkm, nLevel, bkmName)
{
//recherche de premier niveau
if ( bkm.name == bkmName ) return bkm;
//recherche aux niveaux secondaires par imbrication
if (bkm.children != null)
{
for ( i = 0; i < bkm.children.length; i++)
{
bkMark = searchBookmarks(
bkm.children, nLevel + 1, bkmName);
if ( bkMark != null ) break;
}
return bkMark;
}
return null;
}//programme principal…
if ( cDest != null )
{
bkm = searchBookmarks(this.bookmarkRoot, 0, cDest );
if ( bkm != null ) bkm.execute();
else app.alert(« Signet introuvable »,1);
}//Je n’ai pas eu de difficulté car ce code est assez bien documenté.
19 mars 2008 à 20:09 #49704Merlin
Maître des clésTrop de la balle !
:bravo: - AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.