Class PDOutlineNode
java.lang.Object
org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineNode
- All Implemented Interfaces:
COSObjectable
- Direct Known Subclasses:
PDDocumentOutline,PDOutlineItem
This represents an node in an outline in a pdf document.
- Version:
- $Revision: 1.3 $
- Author:
- Ben Litchfield
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendChild(PDOutlineItem outlineNode) append a child node to this node.voidClose this node.Convert this standard java object to a COS object.Convert this standard java object to a COS object.Return the first child or null if there is no child.Return the last child or null if there is no child.intGet the number of open nodes.protected PDOutlineNodeGet the parent of this object.booleanNode is open if the open count is greater than zero.voidopenNode()This will set this node to be open when it is shown in the viewer.protected voidsetFirstChild(PDOutlineNode outlineNode) Set the first child, this will be maintained by this class.protected voidsetLastChild(PDOutlineNode outlineNode) Set the last child, this will be maintained by this class.protected voidsetOpenCount(int openCount) Set the open count.protected voidsetParent(PDOutlineNode parent) Set the parent of this object, this is maintained by these objects and should not be called by any clients of PDFBox code.protected voidupdateParentOpenCount(int amount) The count parameter needs to be updated when you add or remove elements to the outline.
-
Field Details
-
node
The dictionary for this node.
-
-
Constructor Details
-
PDOutlineNode
public PDOutlineNode()Default Constructor. -
PDOutlineNode
Default Constructor.- Parameters:
dict- The dictionary storage.
-
-
Method Details
-
getCOSObject
Convert this standard java object to a COS object.- Specified by:
getCOSObjectin interfaceCOSObjectable- Returns:
- The cos object that matches this Java object.
-
getCOSDictionary
Convert this standard java object to a COS object.- Returns:
- The cos object that matches this Java object.
-
getParent
Get the parent of this object. This will either be a DocumentOutline or an OutlineItem.- Returns:
- The parent of this object, or null if this is the document outline and there is no parent.
-
getFirstChild
Return the first child or null if there is no child.- Returns:
- The first child.
-
getLastChild
Return the last child or null if there is no child.- Returns:
- The last child.
-
getOpenCount
public int getOpenCount()Get the number of open nodes. Or a negative number if this node is closed. See PDF Reference for more details. This value is updated as you append children and siblings.- Returns:
- The Count attribute of the outline dictionary.
-
setOpenCount
protected void setOpenCount(int openCount) Set the open count. This number is automatically managed for you when you add items to the outline.- Parameters:
openCount- The new open cound.
-
openNode
public void openNode()This will set this node to be open when it is shown in the viewer. By default, when a new node is created it will be closed. This will do nothing if the node is already open. -
closeNode
public void closeNode()Close this node. -
isNodeOpen
public boolean isNodeOpen()Node is open if the open count is greater than zero.- Returns:
- true if this node is open.
-
updateParentOpenCount
protected void updateParentOpenCount(int amount) The count parameter needs to be updated when you add or remove elements to the outline. When you add an element at a lower level then you need to increase all of the parents.- Parameters:
amount- The amount to update by.
-