Class PdfStructureTreeRoot


public class PdfStructureTreeRoot extends PdfDictionary
The structure tree root corresponds to the highest hierarchy level in a tagged PDF.
  • Field Details

    • parentTree

      private final Map<Integer,PdfObject> parentTree
    • reference

      private final PdfIndirectReference reference
    • parentTreeNextKey

      private int parentTreeNextKey
      Next key to be used for adding to the parentTree
    • pageKeysMap

      private final Map<Integer,Integer> pageKeysMap
      Map which connects [page number] with corresponding [parentTree entry key]
    • writer

      private final PdfWriter writer
      Holds value of property writer.
  • Constructor Details

    • PdfStructureTreeRoot

      PdfStructureTreeRoot(PdfWriter writer)
      Creates a new instance of PdfStructureTreeRoot
  • Method Details

    • mapRole

      public void mapRole(PdfName used, PdfName standard)
      Maps the user tags to the standard tags. The mapping will allow a standard application to make some sense of the tagged document whatever the user tags may be.
      Parameters:
      used - the user tag
      standard - the standard tag
    • getWriter

      public PdfWriter getWriter()
      Gets the writer.
      Returns:
      the writer
    • getReference

      public PdfIndirectReference getReference()
      Gets the reference this object will be written to.
      Returns:
      the reference this object will be written to
      Since:
      2.1.6 method removed in 2.1.5, but restored in 2.1.6
    • addExistingObject

      public int addExistingObject(PdfIndirectReference reference)
      Adds a reference to the existing (already added to the document) object to the parentTree. This method can be used when the object is need to be referenced via /StructParent key.
      Returns:
      key which define the object record key (e.g. in /NUMS array)
    • setPageMark

      void setPageMark(int pageNumber, PdfIndirectReference reference)
    • getOrCreatePageKey

      int getOrCreatePageKey(int pageNumber)
      Returns array ID for a page-related entry or creates a new one if not exists. Can be used for STRUCTPARENTS tag value
      Parameters:
      pageNumber - number of page for which the ID is required
      Returns:
      Optional with array ID, empty Optional otherwise
    • nodeProcess

      private void nodeProcess(PdfDictionary dictionary, PdfIndirectReference reference) throws IOException
      Throws:
      IOException
    • buildTree

      void buildTree() throws IOException
      Throws:
      IOException