C#怎样完成增加和修正以及删除PDF书签的要领引见【C#.Net教程】,csharp,.net,以及
作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:51评论:0
有时候我们在浏览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网别的相干文章!
相关推荐
- mysql装置后.net顺序运转失足怎样处理【MySQL教程】,mysql,.net,运行
- .net读写xml文档详解【XML教程】,.net,xml
- .net和c#有什么区别【C#.Net教程】,.net,c#
- C#中VB.NET给Word文档增加/打消书签的实例【C#.Net教程】,VB.NET,csharp,Word
- C#怎样完成loading提醒控件简朴的实例【C#.Net教程】,loading,csharp,.net
- C#怎样运用LibUsbDotNet完成USB通讯的示例详解【C#.Net教程】,LibUsbDotNet,csharp,.net
- asp .net 面试题及答案分享【C#.Net教程】,.net,自己,整理,问题,面试
- Memcached在.net中的运用【C#.Net教程】,Memcached,.net
- .net是什么言语 视频【C#.Net教程】,.net
- .net core和.net区分【C#.Net教程】,.net
你 发表评论:
欢迎- .Net教程排行
-
- 1案例分享c++ map的运用和 查找机能测试【C#.Net教程】,性能,map,c++
- 2细致引见C# string花样的日期时候字符串转为DateTime范例的要领【C#.Net教程】,C#,string,DateTime
- 3c#怎样运用?c#的基础语法【C#.Net教程】,c#,关键字
- 4详解ASP.NET中衔接数据库设置要领【C#.Net教程】,ASP.NET,数据库,配置
- 5C# DataSet机能最好实践【C#.Net教程】,C#,DataSet
- 6.net和c#有什么区别【C#.Net教程】,.net,c#
- 7C#_挪用封装的一个类完成导出Excel表格的功用【C#.Net教程】,C# Excel表格
- 8asp .net 面试题及答案分享【C#.Net教程】,.net,自己,整理,问题,面试
- 9让WebAPI 返回JSON花样的数据实例教程【C#.Net教程】,javascript,WebAPI,JSON,api,web,搭建,返回
- 最新文章
- 广而告之