Some test text!

Search
Hamburger Icon

Go / Guides / Outline tree

Navigate PDF outline tree in Go

To navigate an outline tree and print its result.

func PrintIndent(item Bookmark){
  indent := item.GetIndent() - 1
  i := 0
  for i < indent{
    os.Stdout.Write([]byte("  "))
    i = i + 1
  }
}
func PrintOutlineTree (item Bookmark){
  for item.IsValid(){
    PrintIndent(item)
    if item.IsOpen(){
      os.Stdout.Write([]byte("- " + item.GetTitle() + " ACTION -> "))
    }else{
      os.Stdout.Write([]byte("+ " + item.GetTitle() + " ACTION -> "))
    } 
    if item.HasChildren(){        
      PrintOutlineTree(item.GetFirstChild())
    }
    item = item.GetNext()
  }
}            
doc := NewPDFDoc(filename)
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