private void LoadBookmarks(PdfBookmarkCollection bookmarks, IntPtr bookmark) { if (bookmark == IntPtr.Zero) { return; } bookmarks.Add(LoadBookmark(bookmark)); while ((bookmark = NativeMethods.FPDF_BookmarkGetNextSibling(_document, bookmark)) != IntPtr.Zero) { bookmarks.Add(LoadBookmark(bookmark)); } }
private PdfBookmarkCollection GetAll(IEnumerable <PdfBookmark> bookmarks) { PdfBookmarkCollection result = new PdfBookmarkCollection(); foreach (var item in bookmarks) { result.Add(item); result.AddRange(GetAll(item.Children)); } return(result); }