Some test text!

Search
Hamburger Icon

Cpp / Guides / Outline tree

Navigate PDF outline tree in C++

To navigate an outline tree and print its result.

void PrintIndent(Bookmark item) 
{
	int ident = item.GetIndent() - 1;
	for (int i=0; i<ident; ++i) {
    cout << "  ";
  }
}
void PrintOutlineTree(Bookmark item)
{
	for (; item.IsValid(); item=item.GetNext()) {
		PrintIndent(item);
    cout << (item.IsOpen() ? "- " : "+ ") << item.GetTitle() << " ACTION -> ";
		if (item.HasChildren()) {
			PrintOutlineTree(item.GetFirstChild());
		}
	}
}
PDFDoc doc(filename);
Bookmark root = doc.GetFirstBookmark();
PrintOutlineTree(root);

Read, add, edit PDF outlines and bookmarks
Full code sample which illustrates how to read and edit existing outline items and create new bookmarks using the high-level API.

About outline tree

A PDF document may display a document outline on the screen, allowing the user to navigate interactively from one part of the document to another. The outline consists of a tree-structured hierarchy of Bookmarks (sometimes called outline items), which serve as a "visual table of contents" to display the document's structure to the user.

Each Bookmark has a title that appears on screen, and an Action that specifies what happens when a user clicks on the Bookmark. The typical Action for a user-created Bookmark is to move to another location in the current document — although any Action can be specified.

Get the answers you need: Chat with us