如何在 C# 中使用 IronPDF 為 PDF 添加書籤和大綱

如何使用IronPDF在 C# 中加入 PDF 書籤和大綱(PDF編輯功能)

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

IronPDF可讓您使用 C# 在 PDF 文件中加入書籤(大綱),建立類似目錄的導航輔助功能。 新增單層或多層書籤,以增強文件的易用性,並幫助使用者快速跳到關鍵部分。 此功能可在WindowsLinuxmacOS環境下無縫運作。

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

透過在 PDF 文件中加入書籤,快速上手IronPDF 。 本指南示範如何載入現有 PDF 文件、新增導覽書籤以及儲存更新後的文件。 非常適合希望在其 C# 專案中增強 PDF 功能的開發人員。

  1. 使用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 書籤?

在 Adob​​e Acrobat Reader 中,大綱(也稱為書籤)顯示在左側邊欄中,提供了一種方便的方式跳到文件的關鍵部分。 書籤的作用類似於互動式目錄,使讀者能夠有效率地瀏覽複雜的文件。

使用IronPDF,您可以匯入 PDF 文件並對現有大綱執行各種操作,例如新增、重新排序、編輯屬性和刪除書籤。 這樣,您就可以完全控制 PDF 文件的組織和結構,類似於您可以合併或分割 PDF來進行文件管理的方式。

提示所有頁面索引均採用從零開始的索引方式。

如何加入單層書籤?

在IronPDF中加入書籤非常簡單。 使用 AddBookmarkAtEnd 方法,指定書籤名稱和對應的頁面索引。 此功能可與其他 PDF 操作(例如新增頁首和頁尾設定自訂邊距)很好地集成,從而建立專業文件。 以下是一個例子:

: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) 向"考試"書籤新增子書籤。 這種嵌套結構創建了一種層級式組織,反映了文件的邏輯流程。 以下程式碼演示了這個概念:

: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.

"考試"書籤有一個 Children 屬性,指向"日期1"和"日期2"書籤。 "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()
$vbLabelText   $csharpLabel

合併兩個書籤名相同的 PDF 文件可能會破壞書籤清單。

警告僅支援從頁面索引建立的書籤。 來自其他 PDF 元素的書籤的頁面索引值將設定為 -1

請參閱以下文章"使用IronPDF建立目錄",以了解如何在從 HTML 產生 PDF 時建立目錄。

準備好要看看你還能做什麼了嗎? 請查看我們的教學頁面:整理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 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 18,135,201 | 版本: 2026.4 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 變成 PDF。