【教程】如何在C#,VB.NET中获取PDF书签

来源:互联网 发布:windows游戏栏打不开 编辑:程序博客网 时间:2024/05/17 23:36

PDF文档中的书签允许用户通过单击指定的书签标题跳转到文档的相应部分。使用Spire.PDF,程序员可以将书签添加到PDF文档或从现有PDF文档中提取书签。

关联产品

  • Spire.PDF

代码段:

Step 1:定义自定义函数以获取所有总书签的标题以及子书签,并在控制台上打印结果。

static void GetBookmarkTitle(PdfBookmarkCollection bookmarks){    if (bookmarks.Count > 0)    {        foreach (PdfBookmark parentBookmark in bookmarks)        {            Console.WriteLine(parentBookmark.Title);            foreach (PdfBookmark childBookmark in parentBookmark)            {                Console.WriteLine(childBookmark.Title);                GetBookmarkTitle(childBookmark);            }        }    }}

Step 2:初始化Pdf Document类的实例,并加载具有多级书签的示例PDF文档。

PdfDocument doc = new PdfDocument();doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Bookmark.pdf");

Step 3:调用GetBookmarkTitle方法获取文档中的所有书签。

PdfBookmarkCollection bookmarks = doc.Bookmarks;GetBookmarkTitle(bookmarks);
图片1

完整代码:

[C#]

static void Main(string[] args){    PdfDocument doc = new PdfDocument();    doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Bookmark.pdf");    PdfBookmarkCollection bookmarks = doc.Bookmarks;    GetBookmarkTitle(bookmarks);    Console.ReadLine();}static void GetBookmarkTitle(PdfBookmarkCollection bookmarks){    if (bookmarks.Count > 0)    {        foreach (PdfBookmark parentBookmark in bookmarks)        {            Console.WriteLine(parentBookmark.Title);            foreach (PdfBookmark childBookmark in parentBookmark)            {               Console.WriteLine(childBookmark.Title);                GetBookmarkTitle(childBookmark);            }        }    }}

[VB.NET]

Private Shared Sub Main(args As String())    Dim doc As New PdfDocument()    doc.LoadFromFile("C:\Users\Administrator\Desktop\Bookmark.pdf")    Dim bookmarks As PdfBookmarkCollection = doc.Bookmarks    GetBookmarkTitle(bookmarks)    Console.ReadLine()End SubPrivate Shared Sub GetBookmarkTitle(bookmarks As PdfBookmarkCollection)    If bookmarks.Count > 0 Then        For Each parentBookmark As PdfBookmark In bookmarks            Console.WriteLine(parentBookmark.Title)            For Each childBookmark As PdfBookmark In parentBookmark                Console.WriteLine(childBookmark.Title)                GetBookmarkTitle(childBookmark)            Next        Next    End IfEnd Sub

点击查看原教程



阅读全文
0 0
原创粉丝点击