如何使用 IronPDF 在 C# 中新增 PDF 書籤與大綱
IronPDF 讓您能夠在 C# 中為 PDF 文件新增書籤(大綱),建立類似目錄的導覽輔助功能。 新增單層或多層書籤,以提升文件的使用便利性,並協助使用者快速跳轉至關鍵段落。 此功能可在 Windows、Linux 和 macOS 環境中無縫運作。
快速入門:使用 C# 在 PDF 中新增書籤
透過在 PDF 文件中新增書籤,快速開始使用 IronPDF。 本指南將示範如何載入現有 PDF 檔案、新增書籤以利導覽,以及儲存更新後的文件。 非常適合希望在 C# 專案中強化 PDF 功能的開發者。
簡化工作流程(5 個步驟)
- 從 NuGet 下載 IronPDF
- 載入現有或渲染新的 PDF 文件
- 新增單層書籤以跳轉至關鍵章節
- 新增多層級書籤以進行層級化組織
- 檢索並檢視書籤屬性
如何在 C# 中處理 PDF 書籤?
在 Adobe Acrobat Reader 中,大綱(亦稱為書籤)會顯示於左側邊欄,提供一種便捷的方式,讓使用者能快速跳轉至文件的關鍵段落。 書籤功能如同互動式目錄,讓讀者能高效地瀏覽複雜文件。
透過 IronPDF,您可以匯入 PDF 文件,並對現有大綱執行各項操作,例如新增、重新排序、編輯屬性以及刪除書籤。 這讓您能完全掌控 PDF 檔案的組織與結構,類似於您在文件管理中合併或分割 PDF 的方式。
如何新增單層書籤?
在 IronPDF 中新增書籤的步驟非常簡單。 請使用 AddBookmarkAtEnd 方法,並指定書籤名稱及對應的頁面索引。 此功能可與其他 PDF 操作(例如新增頁首與頁尾,或設定自訂邊距)完美整合,以建立 Professional 文件。 以下為範例:
: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")
AddBookMarkAtEnd 方法會將書籤追加至現有書籤清單的末尾。若需更精確地控制書籤位置,請使用 AddBookMarkAtStart 將書籤插入清單開頭。每個書籤皆對應特定的頁面索引,可實現文件內的精確導航。
單層書籤文件
如何建立多層級書籤層級結構?
IronPDF 允許您以樹狀結構新增書籤,這對於維持大型 PDF 文件的導覽便利性特別有用。 當需要處理單一 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 文件中的書籤。 瀏覽書籤樹的操作直觀簡便,可無縫存取不同區塊。 此功能對於處理需要編輯的現有 PDF 檔案,或實作在書籤標記區段內進行文字搜尋與替換等功能時,至關重要。 Consider the multi-layer bookmarks document example above.
"Examination"書籤具有一個 Children 屬性,該屬性指向"Date1"和"Date2"書籤。 "Date1"書籤具有一個 NextBookmark 屬性,該屬性指向"Date2"書籤。 此外,"Date1"書籤具有一個 Children 屬性,其中包含"Paper"書籤。 這種相互連結的結構,能實現複雜的導覽模式與文件組織。
若要擷取已開啟 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()
-1.請參閱以下文章,了解如何在將 HTML 轉為 PDF 時建立目錄:"使用 IronPDF 建立目錄"。
準備好探索更多可能性了嗎? 請參閱我們的教學頁面:整理 PDF 檔案
常見問題
如何在 C# 中為 PDF 文件新增書籤?
IronPDF 讓您能輕鬆地在 C# 中為 PDF 文件新增書籤。您可以使用 AddBookmarkAtEnd 方法,透過指定書籤名稱和頁碼來新增單層書籤。例如:pdf.Bookmarks.AddBookMarkAtEnd("Chapter 1", 1)。這會建立類似目錄的導覽輔助功能,協助使用者快速跳轉至關鍵章節。
AddBookmarkAtEnd 與 AddBookmarkAtStart 方法有何區別?
IronPDF 提供兩種書籤放置方法。AddBookMarkAtEnd 方法會將書籤追加至現有書籤清單的末尾,而 AddBookMarkAtStart 則會將書籤插入清單的開頭。這兩種方法皆會參照特定的頁面索引,以便在文件內進行精確導航。
我可以建立具有多層級的書籤結構嗎?
是的,IronPDF 允許您建立樹狀結構的多層級書籤層級。這對於組織包含嵌套區段的複雜文件特別有用,類似於您如何透過章節和子章節來建構詳細的目錄。
書籤功能在不同作業系統間是否相容?
IronPDF 的書籤功能可在 Windows、Linux 和 macOS 環境中無縫運作。無論您使用何種作業系統,皆可新增、編輯及管理 PDF 書籤,確保跨平台功能的一致性。
我可以對現有的 PDF 書籤執行哪些操作?
透過 IronPDF,您可以對現有的 PDF 大綱執行各種操作,包括新增書籤、重新排序、編輯書籤屬性,以及刪除不需要的書籤。這讓您能完全掌控 PDF 檔案的組織與結構。
當使用者開啟 PDF 時,書籤會如何顯示?
在 Adobe Acrobat Reader 及類似的 PDF 檢視器中,使用 IronPDF 建立的書籤會以大綱形式顯示於左側邊欄。它們發揮互動式目錄的功能,讓讀者能透過點擊跳轉至特定段落,從而高效地瀏覽複雜文件。

