C#如何?添加和修改以及刪除PDF書籤的方法介紹

來源:互聯網
上載者:User
本篇文章主要介紹了C# 添加、修改和刪除PDF書籤的執行個體代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

有時候我們在閱讀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;//修改書籤的titlebookmark.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");
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.