在PDF中,書簽作為一種導航的有效工具,能幫助我們快速地定位到文檔中的指定段落。同時,書簽也能讓人對文檔結構一目瞭然,在某種程度上也可作為目錄使用。對於C#操作PDF中的書簽,在上一篇文章中介紹了具體的如何添加書簽、修改已有書簽以及刪除書簽的操作,在本篇文章中,將介紹C#如何讀取PDF中的多級書簽。 ...
在PDF中,書簽作為一種導航的有效工具,能幫助我們快速地定位到文檔中的指定段落。同時,書簽也能讓人對文檔結構一目瞭然,在某種程度上也可作為目錄使用。對於C#操作PDF中的書簽,在上一篇文章中介紹了具體的如何添加書簽、修改已有書簽以及刪除書簽的操作,在本篇文章中,將介紹C#如何讀取PDF中的多級書簽。
工具
下載安裝該類庫後,註意在編輯代碼時,在程式中添加引用Spire.Pdf.dll(如下圖),dll文件可在安裝路徑下的Bin文件夾中獲取。
示例代碼(供參考)
源文檔:
步驟1 :載入文檔
PdfDocument doc = new PdfDocument(); doc.LoadFromFile("test.pdf");
步驟2 :獲取文檔中的書簽(這裡需要自定義方法來獲取文檔中的所有書簽內容)
//獲取文檔的書簽 PdfBookmarkCollection bookmarks = doc.Bookmarks; //聲明一個可變字元串 StringBuilder stringbuilder = new StringBuilder(); //獲取父書簽和子書簽 GetBookmarkTitle(bookmarks, stringbuilder);
自定義方法:
//自定義方法獲取書簽 static void GetBookmarkTitle(PdfBookmarkCollection bookmarks, StringBuilder stringbuilder) { //遍曆書簽 if (bookmarks.Count > 0) { foreach (PdfBookmark parentBookmark in bookmarks) { stringbuilder.AppendLine(parentBookmark.Title); //獲取書簽 GetBookmarkTitle(parentBookmark, stringbuilder); } } }
步驟 3 :將書簽寫入到.txt文檔
String fileName = "output.txt"; File.WriteAllText(fileName, stringbuilder.ToString());
完成代碼後,調試程式,生成文檔。下圖是讀取結果:
全部代碼:
using Spire.Pdf; using Spire.Pdf.Bookmarks; using System; using System.IO; using System.Text; namespace ReadBookmark_PDF { class Program { static void Main(string[] args) { //實例化PdfDocument類的對象,並載入含有多級書簽的PDF文件 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("test.pdf"); //獲取文檔的書簽 PdfBookmarkCollection bookmarks = doc.Bookmarks; //聲明一個可變字元串 StringBuilder stringbuilder = new StringBuilder(); //獲取父書簽和子書簽 GetBookmarkTitle(bookmarks, stringbuilder); //聲明txt文件,並將獲得的多級書簽寫入到文件.txt String fileName = "output.txt"; File.WriteAllText(fileName, stringbuilder.ToString()); } //自定義方法獲取書簽 static void GetBookmarkTitle(PdfBookmarkCollection bookmarks, StringBuilder stringbuilder) { //遍曆書簽 if (bookmarks.Count > 0) { foreach (PdfBookmark parentBookmark in bookmarks) { stringbuilder.AppendLine(parentBookmark.Title); //獲取書簽 GetBookmarkTitle(parentBookmark, stringbuilder); } } } } }View Code
本文完
轉載請註明出處。