翻譯|使用教程|編輯:李顯亮|2019-07-24 09:41:09.720|閱讀 1196 次
概述:Spire.PDF是一個專業的PDF組件,能夠獨立地創建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。書簽不僅可以幫助我們跳轉到文檔中相應的位置,還可以讓我們快速地了解文檔所講述的內容。本文將介紹如何添加刪除PDF書簽,獲取多級書簽。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
更多資源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程
Spire.PDF是一個專業的PDF組件,能夠獨立地創建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設置(包括數字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數據更新、章節和段落優化、圖形/圖像描繪和插入、表格創建和處理、數據導入等等。
書簽不僅可以幫助我們跳轉到文檔中相應的位置,還可以讓我們快速地了解文檔所講述的內容。本文將介紹如何添加刪除PDF書簽,獲取多級書簽。
Spire.PDF不僅支持對簡單書簽的操作,還支持多級書簽。接下來將介紹如何使用Spire.PDF來獲取PDF文檔中的多級書簽。
static void Main(string[] args) { //加載含有多級書簽的PDF文件 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("示例.pdf"); //獲取文檔的書簽 PdfBookmarkCollection bookmarks = doc.Bookmarks; //聲明一個可變字符串 StringBuilder stringbuilder = new StringBuilder(); //獲取父書簽和子書簽 GetBookmarkTitle(bookmarks, stringbuilder); //聲明txt文件,并將獲得的多級書簽寫入到文件.txt String fileName = "D://文件.txt"; File.WriteAllText(fileName, stringbuilder.ToString()); Console.ReadLine(); } static void GetBookmarkTitle(PdfBookmarkCollection bookmarks, StringBuilder stringbuilder) { if (bookmarks.Count > 0) { foreach (PdfBookmark parentBookmark in bookmarks) { stringbuilder.AppendLine(parentBookmark.Title); //遞歸文檔多級書簽 GetBookmarkTitle(parentBookmark, stringbuilder); } } }
添加書簽
在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");
添加子書簽
//新建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");
添加書簽到現有文檔
除了在新建的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");
修改書簽
Spire.PDF支持多種書簽修改方式,例如修改現有書簽的內容,插入新書簽到現有書簽列表,插入子書簽到現有書簽等。這里我們選取修改書簽內容和插入新書簽到現有書簽列表進行介紹。
修改現有書簽內容
//加載文檔 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");
插入新書簽到現有書簽列表
//加載文檔 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");
刪除書簽
刪除書簽時,可以使用書簽的序號,也可以使用書簽的名稱。這里所使用的是序號的方式。
//加載文檔 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("Bookmark2.pdf"); //獲取所有書簽 PdfBookmarkCollection bookmarks = document.Bookmarks; //刪除第一個書簽 bookmarks.RemoveAt(0); //保存文檔 pdf.SaveToFile("DeleteBookmark.pdf");
如果你有任何問題或意見,可在下方評論區留言,點擊資源列表查看更多教程資源~
*想要購買正版授權的朋友可以哦~
掃描關注“慧聚IT”微信公眾號,及時獲取更多產品最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: