- 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);
- }
- }
- }
- }
- }