Donnez vie à vos documents numériques !
 

Récupérer l’action d’un signet

abracadabraPDF Forums PDF – Général Récupérer l’action d’un signet

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45549
    bebarth
    Maître des clés

    bonjour,
    On peut définir l’action d’un signet avec setAction, mais peut-on récupérer cette action ? getAction n’existe apparemment pas !!!
    Plus précisément pour mon cas, je connais le nom d’un signet, et je voudrais savoir à quelle page il renvoie pour que cette page devienne ma page de référence…  :Euuuh:
    C’est possible ???
    @+
    :bonjour:

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #61788
    bebarth
    Maître des clés

    …je crois que j’ai trouvé… du moins pour mon problème !
    Il suffit d’exécuter le signet avec « execute » et de récupérer le numéro de la page.
    http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FBookmark_methods.htm%23TOC_executebc-2&rhtocid=_6_1_8_8_1_1
    Ça ne résout pas le problème pour toutes les actions possibles, mais pour un renvoi à la page ça fonctionne.
    @+
    :bonjour:

    #61789
    Merlin
    Maître des clés

    getAction n’existe apparemment pas

    Je n’ai rien trouvé non plus…  :joker:

    #61790
    bebarth
    Maître des clés

    …si ça intéresse quelqu’un !!!

    Code:
    // Document-level or folder-level JavaScript.
    function searchBookmarks(signet, nLevel, signetName) {
    if (signet.name == signetName) return signet;
    if (signet.children != null) {
    for (var i = 0; i < signet.children.length; i++) {
    var bkMark = searchBookmarks(signet.children, nLevel + 1, signetName);
    if (bkMark != null) break;
    }
    return bkMark;
    }
    return null;
    }
    // Redéfini la fonction pour une comparaison plus sophistiquée.
    function signetCompare(name1, name2) {return (name1 == name2);}

    // Recherche
    var signetName = app.response({
    cQuestion: « Nom du signet à trouver : »,
    cTitle: « Recherche et exécution du signet »
    });
    if (signetName != null) {
    var signet = searchBookmarks(this.bookmarkRoot, 0, signetName );
    if (signet != null) {
    signet.execute();
    app.alert(« Le signet «  »+ signetName + » » renvoie à la page « +(this.pageNum+1)+ ». »,3);
    }
    else app.alert(« Le signet «  »+ signetName + » » n’a pas été trouvé. »);
    }

    @+
    :bonjour:

    #61791
    Merlin
    Maître des clés

    :bravo:

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.