`

C# 添加、修改、删除PDF书签

阅读更多

有时候我们在阅读PDF文档时会遇到这样一种情况:PDF文档页数比较多,但是又没有书签,所以我们不能根据书签快速了解文档所讲解的内容,也不能点击书签快速跳转到相应的位置,而只能一页一页的翻阅,非常苦恼。相信开发人员在开发和PDF有关的应用程序时,也会有这样的功能需求,因此在这篇文章中我就介绍一下如何使用编程的方式(C#)和Spire.PDF组件给PDF文档添加书签(包括添加书签到现有文档和添加子书签),以及修改和删除现有PDF文档中的指定书签。

添加书签

1.1 添加书签

在Spire.PDF中,每个PDF文档都有一个书签列表(PdfBookmarkCollection)。我们可以通过PdfDocument对象的Bookmarks属性来获取该列表,然后通过Add () 方法将书签添加到列表中。

【C#】

//新建PDF文档

PdfDocument pdf = new PdfDocument();

//添加页面

PdfPageBase page = pdf.Pages.Add();

//添加书签
PdfBookmark bookmark = pdf.Bookmarks.Add("第一页");

//设置书签所指向的页面和位置,(0,0)表示页面的开始位置

bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);

//设置书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Black;

//保存文档

pdf.SaveToFile("Bookmark2.pdf");

 

 


 

1.2 添加子书签

添加子书签和添加普通书签的方式基本一样,不同的是普通书签是直接添加到文档的书签列表里,而子书签则是添加到父书签的列表里。

【C#】

 

//新建PDF文档

PdfDocument pdf = new PdfDocument();

//添加页面

PdfPageBase page = pdf.Pages.Add(); 

//添加书签

PdfBookmark bookmark = pdf.Bookmarks.Add("第一章 热传导");

//设置书签指向的页面和位置

bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);
 
//设置书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.SeaGreen;

//添加子书签

PdfBookmark childBookmark = bookmark.Insert(0, "1.1 热传导基本知识");

//设置子书签指向的页面和位置

childBookmark.Destination = new PdfDestination(page);
childBookmark.Destination.Location = new PointF(400, 300);

//设置子书签的文本格式和颜色

childBookmark.DisplayStyle = PdfTextStyle.Regular;
childBookmark.Color = Color.Black;

//保存文档

pdf.SaveToFile("ChildBookmark.pdf");

 

 

子书签添加结果:



 

1.3 添加书签到现有文档

除了在新建的PDF文档里添加书签,我们还可以给现有的PDF文档添加书签。加载PDF文档的方法除LoadFromFile以外,还有LoadFromStream (从流加载),LoadFromHTML(从HTML加载)等,可根据自己的需求选择相应的加载方式。

【C#】

 

//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("示例.pdf"); 

for (int i = 0; i < pdf.Pages.Count; i++)
{
    //添加书签

    PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("第{0}章", i+1));

    //设置书签指向的页面和位置

    bookmark.Destination = new PdfDestination(pdf.Pages[i]);
    bookmark.Destination.Location = new PointF(0, 0);

    //设置书签的文本格式和颜色

    bookmark.DisplayStyle = PdfTextStyle.Bold;
    bookmark.Color = Color.Black;
}

//保存文档

pdf.SaveToFile("Bookmark2.pdf");

 

 

 

2. 修改书签

Spire.PDF支持多种书签修改方式,例如修改现有书签的内容,插入新书签到现有书签列表,插入子书签到现有书签等。这里我选取修改书签内容和插入新书签到现有书签列表进行介绍。

2.1修改现有书签

【C#】

//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//获取书签列表

PdfBookmarkCollection bookmarks = pdf.Bookmarks;

//获取第一个书签

PdfBookmark bookmark = bookmarks[0];

//修改书签指向的页面

bookmark.Destination = new PdfDestination(document.Pages[1]); 

//修改书签的文本格式和颜色

bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Green;

//修改书签的title

bookmark.Title = "修改";

//保存文档

pdf.SaveToFile("ModifyBookmark.pdf");

修改结果:



 

 

2.2 插入新书签到现有书签列表

【C#】

//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//插入新书签到指定位置(此处插入的是第三个书签的位置)

PdfBookmark bookmark = pdf.Bookmarks.Insert(2, "新增第三章");

//设置书签所指向的页面和位置

bookmark.Destination = new PdfDestination(document.Pages[1]);
bookmark.Destination.Location = new PointF(0, 300);

//保存文档

pdf.SaveToFile("InsertBookmark.pdf");

 



 

 

3. 删除书签

删除书签时,可以使用书签的序号,也可以使用书签的名称。这里我使用的是序号的方式。

【C#】

//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//获取书签列表

PdfBookmarkCollection bookmarks = document.Bookmarks;

//删除第一个书签

bookmarks.RemoveAt(0);

//保存文档

pdf.SaveToFile("DeleteBookmark.pdf");

 



 以上博主只总结了部分操作PDF书签的功能,如果需要详细了解其他的功能,请查阅:http://e-iceblue.cn/Introduce/Spire-PDF-NET.html。如有任何疑问,欢迎给博主留言。欢迎转载,转载时请注明出处!

 

  • 大小: 41.4 KB
  • 大小: 43.5 KB
  • 大小: 58.1 KB
  • 大小: 53.4 KB
  • 大小: 42.2 KB
  • 大小: 42.5 KB
分享到:
评论

相关推荐

    C# PDF文件操作组件

    3. **PDF编辑**:编辑功能包括添加、删除或修改文本、图像、链接等元素。这可能需要对PDF的结构有深入理解,因为PDF文档是基于操作的,而不是基于内容的。 4. **PDF注释和标记**:注释功能允许用户添加高亮、批注、...

    Aspose.Pdf.dll.rar

    2. PDF 编辑:该库支持对已有 PDF 文件进行编辑,例如添加、删除、移动或复制页面,修改文本内容、图像和图形,以及更新链接和注释。 3. PDF 转换:Aspose.Pdf.dll 可以将 PDF 文件转换为多种格式,包括 HTML、Word...

    C# 操作Web文档插入文字及图片及wed转成html转pdf

    添加书签用`Bookmark.Add`,删除用`Bookmark.Delete`,查找或替换用`Range.Find.Execute`。 3. **Web插入文字和图片**: 描述中的"Web插入"可能是指在HTML页面上下文中进行操作。在C#中,可以使用...

    C#winform 实现PDF阅读功能

    在C# WinForm应用中实现PDF阅读功能,通常涉及到PDF文档处理库的使用,以便能够加载、显示和操作PDF文件。下面将详细讲解这个过程,包括必要的知识点和步骤。 1. **PDF基础知识**: PDF(Portable Document Format...

    Aspose.Pdf.

    12. **元数据管理**:可以添加、修改或删除PDF文档的元数据,如作者、标题、主题等信息。 13. **优化和压缩**:Aspose.Pdf提供了优化和压缩PDF文件的工具,以减小文件大小,提高传输和存储效率。 Aspose.Pdf.dll是...

    Spire.pdf 4.8 ,使用无限制、无水印

    - **编辑PDF**:修改已有的PDF文档,包括替换文本、调整图像、更新链接和书签。 - **转换PDF**:将其他格式如Word、Excel、HTML、图像等转换为PDF,反之亦然。 - **表单处理**:填充交互式PDF表单,保存用户输入的...

    PDFView4NET使用说明

    - 添加、编辑和删除PDF的书签,可以通过`Bookmarks`属性访问书签集合,然后进行操作。 - 处理PDF内部和外部链接,PDFView4NET提供事件来响应用户的点击。 7. **元数据编辑** - 可以通过API读取或修改PDF文档的元...

    pdfbox1.8.3.dll C#

    4. **编辑PDF**:修改现有PDF,如替换文本、插入新页面、删除页面等。 5. **签名PDF**:对PDF文档进行数字签名,确保其完整性和来源的真实性。 6. **表单处理**:填充交互式PDF表单字段,提取或设置表单数据。 7. **...

    Spire.Pdf 4.3版本.rar

    2. **编辑PDF**:可以修改PDF文档的内容,包括文本、图片、链接等,也可以添加或删除页面,调整页面顺序。 3. **读取PDF**:能够读取PDF文档的信息,如元数据、页面内容、书签、注释等,也可以提取文本和图像。 4....

    Aspose.Pdf.v3.1.2读取pdf控件

    你可以添加、删除或修改页面,插入或删除文本和图像,更新表单字段,甚至合并或拆分PDF文件。 4. **PDF表单处理**:支持处理交互式PDF表单,包括读取和填写表单字段,设置默认值,验证用户输入,以及导出填好的表单...

    moonpdf-master_c#moonpdf_C#moonpdf保存_MoonPDF_C#_wholelnn.zip

    3. **编辑 PDF**:用户可以添加、删除或修改 PDF 页面,调整页面顺序,插入或删除文本和图像元素,甚至修改链接和书签。 4. **保存 PDF**:完成对 PDF 的操作后,MoonPDF 可以将所有更改保存回文件,保持文档的一致...

    spire.pdf4.8

    2. 编辑PDF:对于已有的PDF文件,Spire.Pdf允许修改其内容,包括替换文字、调整布局、修改图片、插入或删除页面等。此外,还可以进行页面旋转、裁剪、合并等操作。 二、PDF阅读与显示 3. 阅读PDF:Spire.Pdf提供了...

    《C#基类类库大全》

    例如,iTextSharp提供了文本、图像和表格的添加,以及数字签名、书签等功能,帮助开发者构建复杂的PDF文档。 图片处理方面,C#有如FreeImage、AForge.NET这样的库,它们支持图片的读取、写入、裁剪、旋转、滤镜应用...

    Aspose.Words word C#

    6. 文档更新:支持添加或修改文档的样式、字体、段落间距、页眉页脚、页码等格式元素,以及插入和删除页面、书签、域和宏。 7. 图形与图像处理:可以插入、调整和处理文档中的图形、图像和图表,包括旋转、缩放、...

    生成PDF文件的第三方控件

    3. **页面操作**:添加、删除、移动PDF页面,调整页面顺序。 4. **链接和书签**:创建内部或外部链接,设置书签方便导航。 5. **表单处理**:创建交互式表单,包括文本框、复选框、单选按钮等,允许用户填写信息。 6...

    Aspose.Pdf v3.6.1.0

    v3.6.1.0是该库的一个版本,它提供了丰富的API和功能,使得开发者可以方便地在C#、VB.NET或其他.NET兼容的语言中生成和修改PDF文件。 在这一版本中,Aspose.Pdf主要专注于PDF文档的生成与格式支持。它允许开发者...

Global site tag (gtag.js) - Google Analytics