Hello,
Is there a way to get all child bookmarks of a particular bookmark in a pdf?
List<PdfBookmark> lists = new List<PdfBookmark>();
private void button1_Click(object sender, EventArgs e)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("Bookmark.pdf");
//Get the specific bookmark
PdfBookmarkCollection bookmark = doc.Bookmarks[0];
//Get all bookmarks
GetBookmark(bookmark);
PdfBookmark[] allBookmarks = lists.ToArray();
}
private void GetBookmark(PdfBookmarkCollection bookmarks)
{
if (bookmarks.Count > 0)
{
foreach (PdfBookmark parentBookmark in bookmarks)
{
lists.Add(parentBookmark);
GetBookmark(parentBookmark);
}
}
}
Dictionary<string, int> lists = new Dictionary<string, int>();
private void button1_Click(object sender, EventArgs e)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("Bookmark.pdf");
//Get the specific bookmark
PdfBookmarkWidget bookmark = doc.Bookmarks[1] as PdfBookmarkWidget;
//Get parent bookmark title and page number
string title = bookmark.Title;
int pageNum=doc.Pages.IndexOf(bookmark.Destination.Page) + 1;
lists.Add(title,pageNum);
//Get all bookmarks
GetBookmark(bookmark, doc);
}
private void GetBookmark(PdfBookmarkCollection bookmarks,PdfDocument doc)
{
if (bookmarks.Count > 0)
{
foreach (PdfBookmark parentBookmark in bookmarks)
{
//Get bookmark title and page number
string title = parentBookmark.Title;
int pageNum = doc.Pages.IndexOf(parentBookmark.Destination.Page) + 1;
lists.Add(title, pageNum);
GetBookmark(parentBookmark,doc);
}
}
}