GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / GetBookmarkRootID Method
Example





In This Topic
GetBookmarkRootID Method (GdPicturePDF)
In This Topic
Returns a unique identifier of the root bookmark in the currently loaded PDF document.

Bookmarks (also called outline items in the PDF Reference) are items organized in a tree-structured hierarchy, which serves as a visual table of contents to display the document’s structure to the user. A root bookmark is the first top-level bookmark item in this hierarchy.

Syntax
'Declaration
 
Public Function GetBookmarkRootID() As Integer
public int GetBookmarkRootID()
public function GetBookmarkRootID(): Integer; 
public function GetBookmarkRootID() : int;
public: int GetBookmarkRootID(); 
public:
int GetBookmarkRootID(); 

Return Value

A unique bookmark identifier of the root bookmark. The GetStat method can be subsequently used to determine if this method has been successful.
Remarks
This method is only allowed for use with non-encrypted documents.

It is recommend to use the GetStat method to identify the specific reason for the method's failure, if any. For example, if the PDF document doesn't contain any bookmarks, the GetStat method returns GdPictureStatus.PropertyNotFound, as it is shown in the example below.

Example
How to obtain an identifier of the root bookmark. The title of this bookmark item is subsequently displayed in the dialog box.
This example shows you how you can use the GetBookmarkRootID() method to check if the PDF document contains bookmarks.
Dim caption As String = "Example: GetBookmarkRootID"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.LoadFromFile("bookmarks.pdf", False)
If status = GdPictureStatus.OK Then
    Dim rootID As Integer = gdpicturePDF.GetBookmarkRootID()
    status = gdpicturePDF.GetStat()
    If status = GdPictureStatus.OK Then
        MessageBox.Show("The title of the root bookmark is: " + gdpicturePDF.GetBookmarkTitle(rootID), caption)
    Else
        If status = GdPictureStatus.PropertyNotFound Then
            MessageBox.Show("This PDF document doesn't contain any bookmarks.", caption)
        Else
            MessageBox.Show("The GetBookmarkRootID() method has failed with the status: " + status.ToString(), caption)
        End If
    End If
Else
    MessageBox.Show("The file can't be loaded. Status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetBookmarkRootID";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.LoadFromFile("bookmarks.pdf", false);
if (status == GdPictureStatus.OK)
{
    int rootID = gdpicturePDF.GetBookmarkRootID();
    status = gdpicturePDF.GetStat();
    if (status == GdPictureStatus.OK)
        MessageBox.Show("The title of the root bookmark is: " + gdpicturePDF.GetBookmarkTitle(rootID), caption);
    else
    {
        if (status == GdPictureStatus.PropertyNotFound)
            MessageBox.Show("This PDF document doesn't contain any bookmarks.", caption);
        else
            MessageBox.Show("The GetBookmarkRootID() method has failed with the status: " + status.ToString(), caption);
    }
}
else
{
    MessageBox.Show("The file can't be loaded. Status: " + status.ToString(), caption);
}
gdpicturePDF.Dispose();
This example shows you another approach how to obtain the identifier of the root bookmark.
Dim caption As String = "Example: GetBookmarkRootID"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.LoadFromFile("bookmarks.pdf", False)
If status = GdPictureStatus.OK Then
    Dim bookmarksCount As Integer = gdpicturePDF.GetBookmarkCount()
    status = gdpicturePDF.GetStat()
    If status <> GdPictureStatus.OK Then
        MessageBox.Show("The GetBookmarkCount() method has failed with the status: " + status.ToString(), caption)
    Else
        If bookmarksCount = 0 Then
            MessageBox.Show("This PDF document doesn't contain any bookmarks.", caption)
        Else
            MessageBox.Show("The number of bookmarks in this PDF document is: " + bookmarksCount.ToString(), caption)
            
            Dim rootID As Integer = gdpicturePDF.GetBookmarkRootID()
            status = gdpicturePDF.GetStat()
            If status = GdPictureStatus.OK Then
                MessageBox.Show("The title of the root bookmark is: " + gdpicturePDF.GetBookmarkTitle(rootID), caption)
            Else
                MessageBox.Show("The GetBookmarkRootID() method has failed with the status: " + status.ToString(), caption)
            End If
        End If
    End If
Else
    MessageBox.Show("The file can't be loaded. Status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetBookmarkRootID";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.LoadFromFile("bookmarks.pdf", false);
if (status == GdPictureStatus.OK)
{
    int bookmarksCount = gdpicturePDF.GetBookmarkCount();
    status = gdpicturePDF.GetStat();
    if (status != GdPictureStatus.OK)
        MessageBox.Show("The GetBookmarkCount() method has failed with the status: " + status.ToString(), caption);
    else
    {
        if (bookmarksCount == 0)
            MessageBox.Show("This PDF document doesn't contain any bookmarks.", caption);
        else
        {
            MessageBox.Show("The number of bookmarks in this PDF document is: " + bookmarksCount.ToString(), caption);
            
            int rootID = gdpicturePDF.GetBookmarkRootID();
            status = gdpicturePDF.GetStat();
            if (status == GdPictureStatus.OK)
                MessageBox.Show("The title of the root bookmark is: " + gdpicturePDF.GetBookmarkTitle(rootID), caption);
            else
                MessageBox.Show("The GetBookmarkRootID() method has failed with the status: " + status.ToString(), caption);
        }
    }
}
else
{
    MessageBox.Show("The file can't be loaded. Status: " + status.ToString(), caption);
}
gdpicturePDF.Dispose();
See Also