Some test text!

Search
Hamburger Icon

Python / Guides / Outline tree

Navigate PDF outline tree in Python

To navigate an outline tree and print its result.

def PrintIndent(item):
  indent = item.GetIndent() - 1
  i = 0
  while i < indent:
    sys.stdout.write("  ")
    i = i + 1
def PrintOutlineTree (item):
  while item.IsValid():
    PrintIndent(item)
    if item.IsOpen():
      sys.stdout.write("- " + item.GetTitle() + " ACTION -> ")
    else:
      sys.stdout.write("+ " + item.GetTitle() + " ACTION -> ")  
    if item.HasChildren():        
      PrintOutlineTree(item.GetFirstChild())
    item = item.GetNext()
doc = PDFDoc(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