示例#1
0
 /// <summary>
 /// Show the bookmarked Page and selects it in the bookmark tree
 /// </summary>
 /// <param name="bookmark"></param>
 public void ShowPageOfBookmark(PdfBookmark bookmark)
 {
     if (_document != null && _document.Bookmarks.GetAll().Contains(bookmark))
     {
         _renderer.Page = bookmark.PageIndex;
         TreeNode node = _bookmarks.GetNodeByTag(bookmark);
         _bookmarks.SelectedNode = node;
         node.EnsureVisible();
     }
 }
示例#2
0
 private TreeNode GetBookmarkNode(PdfBookmark bookmark)
 {
     TreeNode node = new TreeNode(bookmark.Title);
     node.Tag = bookmark;
     if (bookmark.Children != null)
     {
         foreach (var child in bookmark.Children)
             node.Nodes.Add(GetBookmarkNode(child));
     }
     return node;
 }
示例#3
0
        private PdfBookmark LoadBookmark(IntPtr bookmark)
        {
            var result = new PdfBookmark
            {
                Title     = GetBookmarkTitle(bookmark),
                PageIndex = (int)GetBookmarkPageIndex(bookmark)
            };

            //Action = NativeMethods.FPDF_BookmarkGetAction(_bookmark);
            //if (Action != IntPtr.Zero)
            //    ActionType = NativeMethods.FPDF_ActionGetType(Action);

            var child = NativeMethods.FPDF_BookmarkGetFirstChild(_document, bookmark);

            if (child != IntPtr.Zero)
            {
                LoadBookmarks(result.Children, child);
            }

            return(result);
        }