C# 添加、修改和刪除PDF書簽的實(shí)例代碼
有時(shí)候我們在閱讀PDF文檔時(shí)會遇到這樣一種情況:PDF文檔頁數(shù)比較多,但是又沒有書簽,所以我們不能根據(jù)書簽快速了解文檔所講解的內(nèi)容,也不能點(diǎn)擊書簽快速跳轉(zhuǎn)到相應(yīng)的位置,而只能一頁一頁的翻閱,非??鄲?。相信開發(fā)人員在開發(fā)和PDF有關(guān)的應(yīng)用程序時(shí),也會有這樣的功能需求,因此在這篇文章中我就介紹一下如何使用編程的方式(C#)和Spire.PDF組件給PDF文檔添加書簽(包括添加書簽到現(xiàn)有文檔和添加子書簽),以及修改和刪除現(xiàn)有PDF文檔中的指定書簽。
Spire.PDF組件概述
Spire.PDF是一個(gè)專業(yè)的PDF組件,用于在.NET應(yīng)用程序中創(chuàng)建,編輯,處理和閱讀PDF文檔。支持豐富的PDF文檔處理操作,如PDF文檔合并/拆分、轉(zhuǎn)換(如HTML轉(zhuǎn)PDF,PDF轉(zhuǎn)圖片等)、打?。òo默打?。?、壓縮、添加/修改/刪除書簽、添加注釋、安全設(shè)置(包括數(shù)字簽名)、創(chuàng)建與填充域、圖片插入與提取、文本提取與高亮等。它不依賴Adobe Acrobat,因此運(yùn)行環(huán)境無需安裝Adobe Reader或其他類似組件。 該組件分為商業(yè)版和免費(fèi)版(不是試用版)兩種,一般個(gè)人使用或者操作的PDF文檔不超過10頁時(shí),可以使用免費(fèi)版。
關(guān)于它的安裝,有很多種渠道,包括官網(wǎng)以及開發(fā)者最喜歡和常用的NuGet方式。在Visual Studio的 NuGet Package Manager Console中輸入以下PowerShell命令回車,組件的dll就會自動地引用到項(xiàng)目中:
PM> Install-Package Spire.PDF
添加、修改和刪除PDF書簽的實(shí)現(xiàn)
一、添加書簽
1.1 添加書簽
在Spire.PDF中,每個(gè)PDF文檔都有一個(gè)書簽列表(PdfBookmarkCollection)。我們可以通過PdfDocument對象的Bookmarks屬性來獲取該列表,然后通過Add () 方法將書簽添加到列表中。
//新建PDF文檔
PdfDocument pdf = new PdfDocument();
//添加頁面
PdfPageBase page = pdf.Pages.Add();
//添加書簽
PdfBookmark bookmark = pdf.Bookmarks.Add("第一頁");
//設(shè)置書簽所指向的頁面和位置,(0,0)表示頁面的開始位置
bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);
//設(shè)置書簽的文本格式和顏色
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("第一章 熱傳導(dǎo)");
//設(shè)置書簽指向的頁面和位置
bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);
//設(shè)置書簽的文本格式和顏色
bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.SeaGreen;
//添加子書簽
PdfBookmark childBookmark = bookmark.Insert(0, "1.1 熱傳導(dǎo)基本知識");
//設(shè)置子書簽指向的頁面和位置
childBookmark.Destination = new PdfDestination(page);
childBookmark.Destination.Location = new PointF(400, 300);
//設(shè)置子書簽的文本格式和顏色
childBookmark.DisplayStyle = PdfTextStyle.Regular;
childBookmark.Color = Color.Black;
//保存文檔
pdf.SaveToFile("ChildBookmark.pdf");
1.3 添加書簽到現(xiàn)有文檔
除了在新建的PDF文檔里添加書簽,我們還可以給現(xiàn)有的PDF文檔添加書簽。加載PDF文檔的方法除LoadFromFile以外,還有LoadFromStream (從流加載),LoadFromHTML(從HTML加載)等,可根據(jù)自己的需求選擇相應(yīng)的加載方式。
//加載文檔
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));
//設(shè)置書簽指向的頁面和位置
bookmark.Destination = new PdfDestination(pdf.Pages[i]);
bookmark.Destination.Location = new PointF(0, 0);
//設(shè)置書簽的文本格式和顏色
bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Black;
}
//保存文檔
pdf.SaveToFile("Bookmark2.pdf");
2. 修改書簽
Spire.PDF支持多種書簽修改方式,例如修改現(xiàn)有書簽的內(nèi)容,插入新書簽到現(xiàn)有書簽列表,插入子書簽到現(xiàn)有書簽等。這里我選取修改書簽內(nèi)容和插入新書簽到現(xiàn)有書簽列表進(jìn)行介紹。
2.1 修改現(xiàn)有書簽內(nèi)容
//加載文檔
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");
//獲取書簽列表
PdfBookmarkCollection bookmarks = pdf.Bookmarks;
//獲取第一個(gè)書簽
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 插入新書簽到現(xiàn)有書簽列表
//加載文檔
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");
//插入新書簽到指定位置(此處插入的是第三個(gè)書簽的位置)
PdfBookmark bookmark = pdf.Bookmarks.Insert(2, "新增第三章");
//設(shè)置書簽所指向的頁面和位置
bookmark.Destination = new PdfDestination(document.Pages[1]);
bookmark.Destination.Location = new PointF(0, 300);
//保存文檔
pdf.SaveToFile("InsertBookmark.pdf");
3. 刪除書簽
刪除書簽時(shí),可以使用書簽的序號,也可以使用書簽的名稱。這里我使用的是序號的方式。
//加載文檔
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");
//獲取書簽列表
PdfBookmarkCollection bookmarks = document.Bookmarks;
//刪除第一個(gè)書簽
bookmarks.RemoveAt(0);
//保存文檔
pdf.SaveToFile("DeleteBookmark.pdf");
以上博主只總結(jié)了部分操作PDF書簽的功能,如果需要詳細(xì)了解其他的功能,請查閱:http://e-iceblue.cn/Introduce/Spire-PDF-NET.html.希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
上一篇:C#如何自定義線性節(jié)點(diǎn)鏈表集合
欄 目:C#教程
本文標(biāo)題:C# 添加、修改和刪除PDF書簽的實(shí)例代碼
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5572.html
您可能感興趣的文章
- 01-10C#實(shí)現(xiàn)打開畫圖的同時(shí)載入圖片、最大化顯示畫圖窗體的方法
- 01-10C#禁止textbox復(fù)制、粘貼、剪切及鼠標(biāo)右鍵的方法
- 01-10使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能
- 01-10C#中DataGridView動態(tài)添加行及添加列的方法
- 01-10http圖片上傳安全性問題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不
- 01-10淺析JAVA中過濾器、監(jiān)聽器、攔截器的區(qū)別
- 01-10C#調(diào)用WebService實(shí)例開發(fā)
- 01-10C#修改IIS站點(diǎn)framework版本號的方法
- 01-10C#編程自學(xué)之開篇介紹
- 01-10C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量一


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法


