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
GoToActionavecFitTypepour 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
GoToRemoteActionplutô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
| Issue | Cause | Fix |
|---|---|---|
| Le signet ne navigue pas | Action non définie sur l’élément du plan | Attribuer un GoToAction à OutlineItemCollection.Action |
| L’action GoTo cible la mauvaise page | L’index de page est basé sur 0 en interne mais les pages sont basées sur 1 | Utiliser doc.Pages[n] directement dans le constructeur GoToAction |
| L’action nommée n’a aucun effet | Le visualiseur ne prend pas en charge l’action nommée | Utiliser uniquement les noms standard |
FAQ
Comment créer une table des matières ?
Créez OutlineItemCollection entrées pour chaque section, chacune avec unGoToAction 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 / Method | Description |
|---|---|
OutlineCollection | Collection de signets de niveau supérieur dans le document |
OutlineItemCollection | Entrée de signet unique avec titre et action |
GoToAction | Naviguer vers une page du même document |
GoToRemoteAction | Naviguer vers une page dans un PDF externe |
LaunchAction | Ouvrir un fichier externe |
NamedAction | Déclencher une commande de visionneuse prédéfinie |
PdfAction.CreateGoTo | Fabrique pour les actions GoTo |
PdfAction.CreateNamed | Fabrique pour les actions Named |
ActionCollection | Collection d’actions sur une page ou une annotation |
DestinationCollection | Registre des destinations Named |
ActionType | Énumération : GoTo, URI, JavaScript, Named, Launch |