Navigation et actions

Navigation et Actions

Aspose.PDF FOSS for .NET prend en charge les structures de navigation PDF — signets (outlines), destinations de page et actions de document. Ceux‑ci vous permettent de créer des documents interactifs avec une navigation par table des matières, des liens inter‑pages et des déclencheurs JavaScript.


Repères de document (signets)

OutlineCollection contient l’arborescence des signets du document. Chaque OutlineItemCollection est une entrée de signet avec un titre et une destination.

using var doc = Document.Open(pdfBytes);

foreach (var item in doc.Outlines)
{
    Console.WriteLine($"Bookmark: {item.Title}");
}

Création de signets

using var doc = Document.Open(pdfBytes);

var bookmark = new OutlineItemCollection(doc.Outlines);
bookmark.Title = "Chapter 1";
bookmark.Action = new GoToAction(doc.Pages[1]);
doc.Outlines.Add(bookmark);

doc.Save("with-bookmarks.pdf");

actions GoTo

GoToAction navigue vers une page spécifique et un type d’ajustement dans le même document.

var goTo = new GoToAction(doc.Pages[3]);

Actions nommées

NamedAction déclenche les commandes prédéfinies du visualiseur PDF telles que NextPage, PrevPage, FirstPage et LastPage.

var nextPage = PdfAction.CreateNamed("NextPage");

GoToRemote actions

GoToRemoteAction ouvre un fichier PDF externe et navigue vers une page spécifique.

var remote = new GoToRemoteAction("other.pdf", 1);

Lancer les actions

LaunchAction ouvre un fichier externe (tout format) à partir d’un lien PDF.

var launch = new LaunchAction("readme.txt");

Collections de destination

DestinationCollection associe des destinations nommées aux pages, prenant en charge la navigation par renvoi croisé dans les documents volumineux.

var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");

Conseils et meilleures pratiques

  • Construisez un arbre de signets qui reflète la hiérarchie des sections de votre document pour une navigation intuitive.
  • Utilisez GoToAction avec FitType pour contrôler la façon dont la page cible est affichée (largeur adaptée, page adaptée, etc.).
  • Les actions nommées dépendent du visualiseur — utilisez les noms standard (NextPage, PrevPage, FirstPage, LastPage).
  • Pour les liens inter‑documents, utilisez GoToRemoteAction plutôt que des actions URI pointant vers des fichiers PDF.
  • Les collections d’actions sur une page vous permettent d’ajouter plusieurs actions qui s’exécutent à l’ouverture de la page.

Problèmes courants

IssueCauseFix
Le signet ne navigue pasAction non définie sur l’élément du planAttribuer un GoToAction à OutlineItemCollection.Action
L’action GoTo cible la mauvaise pageL’index de page est basé sur 0 en interne mais les pages sont basées sur 1Utiliser doc.Pages[n] directement dans le constructeur GoToAction
L’action nommée n’a aucun effetLe visualiseur ne prend pas en charge l’action nomméeUtiliser uniquement les noms standard

FAQ

Comment créer une table des matières ?

Créez OutlineItemCollection entrées pour chaque section, chacune avec un
GoToAction ciblant la première page de la section.

Puis-je imbriquer des signets ?

Oui. Ajoutez des entrées enfant OutlineItemCollection à un signet parent pour créer une structure hiérarchique.

Quels types d’ajustement sont disponibles pour les actions GoTo ?

Fit, FitH (adapter à la largeur), FitV (adapter à la hauteur), FitR (adapter au rectangle), et FitB (adapter à la boîte englobante).


Résumé de la référence API

Class / MethodDescription
OutlineCollectionCollection de signets de niveau supérieur dans le document
OutlineItemCollectionEntrée de signet unique avec titre et action
GoToActionNaviguer vers une page du même document
GoToRemoteActionNaviguer vers une page dans un PDF externe
LaunchActionOuvrir un fichier externe
NamedActionDéclencher une commande de visionneuse prédéfinie
PdfAction.CreateGoToFabrique pour les actions GoTo
PdfAction.CreateNamedFabrique pour les actions Named
ActionCollectionCollection d’actions sur une page ou une annotation
DestinationCollectionRegistre des destinations Named
ActionTypeÉnumération : GoTo, URI, JavaScript, Named, Launch

Voir aussi

 Français