Comment ajouter des signets et des plans au format PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

L'inclusion d'un contour PDF, également connu sous le nom de signet, dans votre projet C# peut grandement améliorer la convivialité et le design UX. Les contours des PDF servent d'outil de navigation, permettant aux utilisateurs d'accéder facilement aux pages clés du document, à l'instar d'une table des matières. En incorporant des contours de PDF, vous pouvez offrir une expérience plus intuitive et conviviale pour votre document.



Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Découvrez IronPDF sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme PDF avec C#.

Bibliothèque NuGet C# pour PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Envisagez d'installer le IronPDF DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}

Installation manuelle dans votre projet

Télécharger la DLL

Ajouter des plans et des signets Exemple

Dans Adobe Acrobat Reader, les grandes lignes (également connus sous le nom de signets) sont affichées dans la barre latérale gauche, ce qui permet d'accéder facilement aux sections clés du document.

Avec IronPDF, vous avez la possibilité d'importer des documents PDF et d'effectuer diverses opérations sur les contours existants, telles que l'ajout, le réordonnancement, la modification des propriétés et la suppression des signets. Vous avez ainsi un contrôle total sur l'organisation et la structure de vos fichiers PDF.

Conseils
Toutes les pages sont indexées selon le principe de l'indexation à base zéro.

Ajouter une seule couche de signets

L'ajout d'un signet dans IronPDF est un processus simple. Vous pouvez utiliser la méthode AddBookmarkAtEnd, qui nécessite de spécifier le nom du signet et l'index de la page correspondante.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-single-layer-bookmark.cs
using IronPdf;

// Create a new PDF or edit an existing document.
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

// Add a bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfBookmark", 0);

// Add a sub-bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfSubBookmark", 1);

pdf.SaveAs("singleLayerBookmarks.pdf");
Imports IronPdf

' Create a new PDF or edit an existing document.
Private pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")

' Add a bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfBookmark", 0)

' Add a sub-bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfSubBookmark", 1)

pdf.SaveAs("singleLayerBookmarks.pdf")
VB   C#

Document de signets à couche unique

Ajouter plusieurs couches de signets

Avec IronPDF, vous pouvez ajouter des signets dans une structure arborescente, ce qui est particulièrement utile pour maintenir la navigabilité dans des documents PDF volumineux. Cette fonction s'avère très utile lorsqu'il s'agit de rassembler dans un seul document PDF de vastes collections de documents d'examen, de rapports de vente ou d'enregistrements de reçus à des dates et dans des lieux différents.

La méthode AddBookMarkAtEnd renvoie un objet IPdfBookMark, vous permettant d'ajouter des signets enfants. Par exemple, vous pouvez utiliser Children.AddBookMarkAtStart("Date1", 0) ou Children.AddBookMarkAtEnd("Date1", 0) pour ajouter des signets enfants au signet "Examen". Le code suivant illustre ce concept :

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-multi-layer-bookmark.cs
using IronPdf;

// Load existing PDF document
PdfDocument pdf = PdfDocument.FromFile("examinationPaper.pdf");

// Assign IPdfBookMark object to a variable
var mainBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Examination", 0);

// Add bookmark for days
var date1Bookmark = mainBookmark.Children.AddBookMarkAtStart("Date1", 1);

// Add bookmark for type of test
var paperBookmark = date1Bookmark.Children.AddBookMarkAtStart("Paper", 1);
paperBookmark.Children.AddBookMarkAtEnd("PersonA", 3);
paperBookmark.Children.AddBookMarkAtEnd("PersonB", 4);

// Add bookmark for days
var date2Bookmark = mainBookmark.Children.AddBookMarkAtEnd("Date2", 5);

// Add bookmark for type of test
var computerBookmark = date2Bookmark.Children.AddBookMarkAtStart("Computer", 5);
computerBookmark.Children.AddBookMarkAtEnd("PersonC", 6);
computerBookmark.Children.AddBookMarkAtEnd("PersonD", 7);

pdf.SaveAs("multiLayerBookmarks.pdf");
Imports IronPdf

' Load existing PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("examinationPaper.pdf")

' Assign IPdfBookMark object to a variable
Private mainBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Examination", 0)

' Add bookmark for days
Private date1Bookmark = mainBookmark.Children.AddBookMarkAtStart("Date1", 1)

' Add bookmark for type of test
Private paperBookmark = date1Bookmark.Children.AddBookMarkAtStart("Paper", 1)
paperBookmark.Children.AddBookMarkAtEnd("PersonA", 3)
paperBookmark.Children.AddBookMarkAtEnd("PersonB", 4)

' Add bookmark for days
Dim date2Bookmark = mainBookmark.Children.AddBookMarkAtEnd("Date2", 5)

' Add bookmark for type of test
Dim computerBookmark = date2Bookmark.Children.AddBookMarkAtStart("Computer", 5)
computerBookmark.Children.AddBookMarkAtEnd("PersonC", 6)
computerBookmark.Children.AddBookMarkAtEnd("PersonD", 7)

pdf.SaveAs("multiLayerBookmarks.pdf")
VB   C#

Document de signets multicouches

Récupérer la liste des signets

Avec IronPDF, vous pouvez facilement récupérer et visualiser les signets dans un document PDF. La navigation dans l'arborescence des signets est simple et permet d'accéder de manière transparente aux différentes sections. Prenons l'exemple de la Document de signets multicouches ci-dessus.

Le signet "Examen" aura une propriété Children qui pointe vers les signets "Date1" et "Date2". Le signet "Date1" possède à son tour une propriété NextBookmark qui pointe vers le signet "Date2". En outre, le signet "Date1" possède une propriété Children qui contient le signet "Paper".

Pour récupérer tous les signets présents dans le document PDF ouvert, vous pouvez utiliser la méthode GetAllBookmarks. Vous obtiendrez ainsi une liste complète de tous les signets, ce qui vous permettra d'analyser et d'utiliser plus avant la structure des signets.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-retrieve-bookmark.cs
using IronPdf;

// Load existing PDF document
PdfDocument pdf = PdfDocument.FromFile("multiLayerBookmarks.pdf");

// Retrieve bookmarks list
var mainBookmark = pdf.Bookmarks.GetAllBookmarks();
Imports IronPdf

' Load existing PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("multiLayerBookmarks.pdf")

' Retrieve bookmarks list
Private mainBookmark = pdf.Bookmarks.GetAllBookmarks()
VB   C#

A noter
La fusion de deux documents PDF dont les signets portent des noms identiques peut entraîner une perturbation dans la liste des signets.

[{w :(Seuls les signets créés à partir de l'index de la page sont pris en charge. Les signets créés à partir d'autres parties ou éléments du document PDF auront la valeur d'index de page fixée à -1.)}]

Découvrez comment créer une table des matières lors de la génération de PDF à partir de HTML dans l'article suivant : "Comment ajouter une table des matières."

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.