Skip to main content

Bookmarks and Destinations in the PDF Viewer

  • 4 minutes to read

Bookmarks (outlines) are used to quickly navigate from one part of a document to another. Bookmarks can be anchored to a document page with specific view parameters (a destination), an external URI, or an action. The PDF Viewer displays document bookmarks in the Bookmarks panel of the Navigation pane.

Note

The PDF Viewer shows bookmarks within its navigation pane for a document that contains them.

Code

Call the PdfViewer.GoToBookmark method to navigate to a specific bookmark. Use the PdfViewer.Bookmarks property to obtain a list of document bookmarks.

The code sample below navigates to a bookmark node with a specific title when the document is loaded:

using DevExpress.Pdf;
using DevExpress.XtraPdfViewer;
using System.Collections.Generic;
//...
pdfViewer.DocumentChanged += pdfViewer_DocumentChanged;

// Navigate to the "Annotations" bookmark
private void pdfViewer_DocumentChanged(object sender, PdfDocumentChangedEventArgs e) {
    foreach (var bookmarkItem in pdfViewer.Bookmarks) {
        if (bookmarkItem.Title == "Annotations") 
            pdfViewer.GoToBookmark(bookmarkItem);
    }
}

The PdfViewerBookmarkExtensions.FindBookmark method allows you to find a bookmark that meets specified criteria. This method can be useful if you need to find a bookmark in a document with a complex bookmark tree.

The code sample below finds a bookmark with the specified title and navigates to this bookmark when the document is loaded:

using DevExpress.Pdf;
using DevExpress.XtraPdfViewer;
//...
pdfViewer.DocumentChanged += pdfViewer_DocumentChanged;

private void pdfViewer_DocumentChanged(object sender, PdfDocumentChangedEventArgs e) {
    var bookmark = pdfViewer.Bookmarks.FindBookmark(x => x.Title == "4 Notation");
    if (bookmark != null) { 
        pdfViewer.GoToBookmark(bookmark); 
    }
}

User Interface

The Bookmarks panel allows you to navigate to a bookmark. The panel displays bookmarks in a hierarchical tree. When an outline node is opened, you can see its children in the pane.

BookmarkItems

A destination is a reference to a page with specific view parameters. A destination includes the following view parameters:

  • The displayed document page
  • The location of the document window on this page
  • The magnification (zoom factor)

A PDF file may contain a list of named destinations. Call the PdfViewer.GoToDestination method to navigate to the specified destination. The DestinationNames property retrieves a list of available destination names.

The code sample below shows how to navigate to a destination when the document is loaded:

using DevExpress.XtraPdfViewer;
using System.Linq;
//...
pdfViewer.DocumentChanged += pdfViewer_DocumentChanged;

private void pdfViewer_DocumentChanged(object sender, PdfDocumentChangedEventArgs e) {
    var destNames = pdfViewer.DestinationNames;
    var dest = destNames.Where(x => x.Contains("Page 6")).First();
    pdfViewer.GoToDestination(dest);
}

Note

The PDF viewer does not display destinations in the Navigation pane.

Specify Outline Display Settings

Use the PdfOutlineViewerSettings class properties to change display settings for the Bookmarks panel. The following settings are available:

HideAfterUse
Gets or sets whether to hide the Bookmarks panel after a bookmark is clicked.
WrapLongLines
Gets or sets whether to wrap outline titles in the Bookmarks panel.
UseOutlinesForeColor
Specifies whether to use document foreground colors for the outline node text in the Bookmarks panel.
TextSize
Gets or sets text size for outline nodes in the Bookmarks panel.

The code sample below shows how to specify these options in code:

var outlineViewerSettings = pdfViewer.OutlineViewerSettings;
outlineViewerSettings.WrapLongLines = false;
outlineViewerSettings.UseOutlinesForeColor = true;
outlineViewerSettings.HideAfterUse = true;
outlineViewerSettings.TextSize = PdfOutlineNodeTextSize.Medium; 

These options are also available in the Options drop-down list in the Bookmarks panel.

RuntimeBookmarkOptions

See Also