如何添加 PDF 书签和大纲
在 C# 项目中加入 PDF 大纲(也称为书签)可大大提高可用性和用户体验设计。PDF 大纲具有导航工具的功能,允许用户轻松访问文档中的关键页面,类似于目录。通过加入 PDF 大纲,您可以为文档提供更直观、更友好的用户体验。
如何添加 PDF 书签和大纲
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronPDF 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。
Install-Package IronPdf
考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip
手动安装到你的项目中
下载DLL添加大纲和书签示例
在 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 "书签将有一个 Children 属性,指向 "Date1 "和 "Date2 "书签。而 "Date1 "书签的 NextBookmark 属性指向 "Date2 "书签。此外,"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()
请注意
在继续之前
在以下文章中了解如何在从 HTML 生成 PDF 时创建内容表:"如何添加目录."