如何新增 PDF 書籤和大綱
在您的 C# 專案中包含 PDF 大綱,也稱為書籤,可以大大提高可用性和用戶體驗設計。 PDF大綱功能作為導航工具,可讓使用者輕鬆訪問文檔中的關鍵頁面,類似於目錄。 通过加入PDF大纲,您可以为您的文档提供更直观、更用户友好的体验。
開始使用 IronPDF
立即在您的專案中使用IronPDF,並享受免費試用。
如何新增 PDF 書籤和大綱
- 從 NuGet 下載 IronPDF
- 載入現有的或渲染新的 PDF 文件
- 在 PDF 文件上新增單層書籤以跳轉到關鍵部分
- 添加多層書籤以組織階層結構
- 檢索並查看書籤屬性
添加大綱和書籤示例
在 Adobe Acrobat Reader 中,大綱(也稱為書籤)顯示在左側欄,提供了一種方便的方法來跳轉到文件的關鍵部分。
使用 IronPDF,您可以導入 PDF 文件並對現有的大綱執行各種操作,例如添加、重新排序、編輯屬性和刪除書籤。 這使您可以完全控制PDF文件的組織和結構。
提示
添加單層書籤
在IronPDF中添加書籤是一個簡單的過程。 您可以使用AddBookmarkAtEnd
方法,該方法需要指定書籤名稱和對應的頁面索引。
: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")
單層書籤文件
新增多層書籤
使用IronPDF,您可以在樹狀結構中添加書籤,這對於保持大型PDF文件的導航性特別有用。 此功能在處理來自不同日期和地點的大量考試試卷、銷售報告或收據記錄的單一PDF文件時非常方便。
AddBookMarkAtEnd
方法返回一個 IPdfBookMark 對象,允許您添加子書籤。 例如,您可以使用Children.AddBookMarkAtStart("Date1", 0)
或Children.AddBookMarkAtEnd("Date1", 0)
將子書籤添加到 "Examination" 書籤中。 以下代碼演示了這一概念:
: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")
多層書籤文件
检索书签列表
使用IronPDF,您可以輕鬆檢索並查看PDF文件中的書籤。 在書籤樹瀏覽是直觀的,並且可以無縫訪問不同部分。 讓我們考慮上面的多層書籤文件範例。
"Examination" 書籤將具有一個指向 "Date1" 和 "Date2" 書籤的 Children 屬性。 「Date1」書籤具有指向「Date2」書籤的 NextBookmark 屬性。 此外,"Date1" 書籤具有包含 "Paper" 書籤的 Children 屬性。
要提取打開的 PDF 文件中所有的書籤,可以使用GetAllBookmarks
方法。 這將為您提供一個全面的書籤列表,讓您可以進一步分析和利用書籤結構。
: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()
請注意
(僅支援從頁面索引建立的書籤。) 從 PDF 文件的其他部分或元素製作的書籤將會將頁面索引值設置為 -1。
瞭解如何在從 HTML 生成 PDF 時創建目錄,請參閱以下文章:"使用 IronPDF 創建目錄."