C# 讀取PDF多級書籤
阿新 • • 發佈:2018-12-21
在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
本文完
轉載請註明出處。