如何使用 IronPDF 在 C# 中新增 PDF 書籤與大綱

如何使用 IronPDF 在 C# 中新增 PDF 書籤與大綱

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

IronPDF 讓您能夠在 C# 中為 PDF 文件新增書籤(大綱),建立類似目錄的導覽輔助功能。 新增單層或多層書籤,以提升文件的使用便利性,並協助使用者快速跳轉至關鍵段落。 此功能可在 WindowsLinuxmacOS 環境中無縫運作。

快速入門:使用 C# 在 PDF 中新增書籤

透過在 PDF 文件中新增書籤,快速開始使用 IronPDF。 本指南將示範如何載入現有 PDF 檔案、新增書籤以利導覽,以及儲存更新後的文件。 非常適合希望在 C# 專案中強化 PDF 功能的開發者。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 請複製並執行此程式碼片段。

    var pdf = new IronPdf.PdfDocument("example.pdf");
    pdf.Bookmarks.AddBookMarkAtEnd("Chapter 1", 1);
    pdf.SaveAs("bookmarked.pdf");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPDF

    arrow pointer

如何在 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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

這種分層式方法對於處理需要詳細組織的複雜文件時,尤其具有價值。 此嵌套結構讓使用者能展開與收合書籤區段,即使在數百頁的文件中,也能提供直覺的導覽體驗。

多層級書籤文件

如何檢索及瀏覽現有的書籤?

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()
$vbLabelText   $csharpLabel

請注意合併兩個書籤名稱相同的 PDF 文件可能會導致書籤清單出現異常。

警告僅支援由頁面索引建立的書籤。 來自其他 PDF 元素的書籤,其頁面索引值將設定為 -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 建立的書籤會以大綱形式顯示於左側邊欄。它們發揮互動式目錄的功能,讓讀者能透過點擊跳轉至特定段落,從而高效地瀏覽複雜文件。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 18,926,724 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。