有时候我们在浏览PDF文档时会碰到如许一种状况:PDF文档页数比较多,然则又没有书签,所以我们不能依据书签疾速相识文档所解说的内容,也不能点击书签疾速跳转到响应的位置,而只能一页一页的翻阅,异常苦恼。置信开辟人员在开辟和PDF有关的应用程序时,也会有如许的功用需求,因而在这篇文章中我就引见一下怎样运用编程的体式格局(C#)和Spire.PDF组件给PDF文档增加书签(包含增加书签到现有文档和增加子书签),以及修正和删除现有PDF文档中的指定书签。
Spire.PDF组件概述
Spire.PDF是一个专业的PDF组件,用于在.NET应用程序中建立,编辑,处置惩罚和浏览PDF文档。支撑雄厚的PDF文档处置惩罚操纵,如PDF文档兼并/拆分、转换(如HTML转PDF,PDF转图片等)、打印(包含寂静打印)、紧缩、增加/修正/删除书签、增加解释、平安设置(包含数字签名)、建立与添补域、图片插进去与提取、文本提取与高亮等。它不依靠Adobe Acrobat,因而运转环境无需装置Adobe Reader或其他相似组件。 该组件分为商业版和免费版(不是试用版)两种,平常个人运用或许操纵的PDF文档不凌驾10页时,能够运用免费版。
关于它的装置,有很多种渠道,包含官网以及开辟者最喜欢和经常使用的NuGet体式格局。在Visual Studio的 NuGet Package Manager Console中输入以下PowerShell敕令回车,组件的dll就会自动地引用到项目中:
PM> Install-Package Spire.PDF
增加、修正和删除PDF书签的完成
一、增加书签
1.1 增加书签
在Spire.PDF中,每一个PDF文档都有一个书签列表(PdfBookmarkCollection)。我们能够经由过程PdfDocument对象的Bookmarks属性来猎取该列表,然后经由过程Add () 要领将书签增加到列表中。
//新建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 增加子书签
增加子书签和增加一般书签的体式格局基础一样,差别的是一般书签是直接增加到文档的书签列内外,而子书签则是增加到父书签的列内外。
//新建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加载)等,可依据本身的需求挑选响应的加载体式格局。
//加载文档 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 修正现有书签内容
//加载文档 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 插进去新书签到现有书签列表
//加载文档 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. 删除书签
删除书签时,能够运用书签的序号,也能够运用书签的称号。这里我运用的是序号的体式格局。
//加载文档 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("Bookmark2.pdf"); //猎取书签列表 PdfBookmarkCollection bookmarks = document.Bookmarks; //删除第一个书签 bookmarks.RemoveAt(0); //保存文档 pdf.SaveToFile("DeleteBookmark.pdf");
以上就是C#怎样完成增加和修正以及删除PDF书签的要领引见的细致内容,更多请关注ki4网别的相干文章!