abracadabraPDF › Forums › PDF – Général › [Resolu] Aide au sujet des signets ( ou bookmark en anglais) › Répondre à : [Resolu] Aide au sujet des signets ( ou bookmark en anglais)
Salut et merci pour votre aide ca cela fonctionne. J’ai fait un « mix » de vos solutions .
J’ai crée 2 signets appelés « texte1 » et « texte2 » auquels j’ai associées différentes actions telles que ouvrir un fichier , lancer une page web et aller à une page précise de mon document.
Voici le code que j’ai mis dans un bouton .
// Création d’une liste
ItemPopUp=new Array();
ItemPopUp[0]= »texte1″
ItemPopUp[1]= »texte2″
// Création d’une popup contenant les données de ma liste
Choix = app.popUpMenuEx
(
{cName:ItemPopUp[0]},
{cName: »-« },
{cName:ItemPopUp[1]}
)
// En fonction du choix effectuée , je recherche le signet qui porte le même nom et execute les actions qui lui sont associés
if(Choix!=null)
{
var bkm = searchBookmarks(this.bookmarkRoot, 0, Choix );
if ( bkm != null ) bkm.execute();
else app.alert(« Bookmark not found »);
}
Ensuite j’ai rajouter ce code javascript :
// Fonction permettant de rechercher et d’executer les actions d’un signet dont le nom est passé en paramètre.
function searchBookmarks(bkm, nLevel, bkmName)
{
if ( bkm.name == bkmName ) return bkm;
if (bkm.children != null)
{
for (var i = 0; i < bkm.children.length; i++) { var bkMark = searchBookmarks(bkm.children, nLevel + 1, bkmName);
if ( bkMark != null ) break;
}
return bkMark;
}
return null;
}
Donc en gros dès que je fait un choix , je lance les actions associés au signet portant le même nom que mon choix .