Class PDPageLabels

java.lang.Object
org.apache.pdfbox.pdmodel.common.PDPageLabels
All Implemented Interfaces:
COSObjectable

public class PDPageLabels extends Object implements COSObjectable
Represents the page label dictionary of a document.
  • Field Details

  • Constructor Details

  • Method Details

    • findLabels

      private void findLabels(PDNumberTreeNode node) throws IOException
      Throws:
      IOException
    • getPageRangeCount

      public int getPageRangeCount()
      Returns the number of page label ranges.

      This will be always >= 1, as the required default entry for the page range starting at the first page is added automatically by this implementation (see PDF32000-1:2008, p. 375).

      Returns:
      the number of page label ranges.
    • getPageLabelRange

      public PDPageLabelRange getPageLabelRange(int startPage)
      Returns the page label range starting at the given page, or null if no such range is defined.
      Parameters:
      startPage - the 0-based page index representing the start page of the page range the item is defined for.
      Returns:
      the page label range or null if no label range is defined for the given start page.
    • setLabelItem

      public void setLabelItem(int startPage, PDPageLabelRange item)
      Sets the page label range beginning at the specified start page.
      Parameters:
      startPage - the 0-based index of the page representing the start of the page label range.
      item - the page label item to set.
      Throws:
      IllegalArgumentException - if the startPage parameter is < 0.
    • getCOSObject

      public COSBase getCOSObject()
      Convert this standard java object to a COS object.
      Specified by:
      getCOSObject in interface COSObjectable
      Returns:
      The cos object that matches this Java object.
    • getPageIndicesByLabels

      public Map<String,Integer> getPageIndicesByLabels()
      Returns a mapping with computed page labels as keys and corresponding 0-based page indices as values. The returned map will contain at most as much entries as the document has pages.

      NOTE: If the document contains duplicate page labels, the returned map will contain less entries than the document has pages. The page index returned in this case is the highest index among all pages sharing the same label.

      Returns:
      a mapping from labels to 0-based page indices.
    • getLabelsByPageIndices

      public String[] getLabelsByPageIndices()
      Returns a mapping with 0-based page indices as keys and corresponding page labels as values as an array. The array will have exactly as much entries as the document has pages.
      Returns:
      an array mapping from 0-based page indices to labels.
    • getPageIndices

      public NavigableSet<Integer> getPageIndices()
      Get an ordered set of page indices having a page label range.
      Returns:
      set of page indices.
    • computeLabels

      private void computeLabels(PDPageLabels.LabelHandler handler, int numberOfPages)