com.lowagie.text.pdf

## Class PdfPageLabels

- java.lang.Object
- - com.lowagie.text.pdf.PdfPageLabels

    public class PdfPageLabels
    extends java.lang.Object

Page labels are used to identify each page visually on the screen or in print.

Author:
  Paulo Soares (psoares@consiste.pt)

### Nested Class Summary

Nested Classes
`static class` `PdfPageLabels.PdfPageLabelFormat`

### Field Summary

Fields
`static int` `DECIMAL_ARABIC_NUMERALS` Logical pages will have the form 1,2,3,...
`static int` `EMPTY` No logical page numbers are generated but fixed text may still exist
`static int` `LOWERCASE_LETTERS` Logical pages will have the form of uppercase letters (a to z for the first 26 pages, aa to zz for the next 26, and so on)
`static int` `LOWERCASE_ROMAN_NUMERALS` Logical pages will have the form i,ii,iii,iv,...
`private java.util.HashMap` `map` The sequence of logical pages.
`(package private) static PdfName[]` `numberingStyle` Dictionary values to set the logical page styles
`static int` `UPPERCASE_LETTERS` Logical pages will have the form of uppercase letters (A to Z for the first 26 pages, AA to ZZ for the next 26, and so on)
`static int` `UPPERCASE_ROMAN_NUMERALS` Logical pages will have the form I,II,III,IV,...

### Constructor Summary

Constructors
Constructor and Description
`PdfPageLabels()` Creates a new PdfPageLabel with a default logical page 1

### Method Summary

Methods
`void` `addPageLabel(int page, int numberStyle)` Adds or replaces a page label.
`void` `addPageLabel(int page, int numberStyle, java.lang.String text)` Adds or replaces a page label.
`void` `addPageLabel(int page, int numberStyle, java.lang.String text, int firstPage)` Adds or replaces a page label.
`void` `addPageLabel(PdfPageLabels.PdfPageLabelFormat format)` Adds or replaces a page label.
`(package private) PdfDictionary` `getDictionary(PdfWriter writer)` Gets the page label dictionary to insert into the document.
`static PdfPageLabels.PdfPageLabelFormat[]` `getPageLabelFormats(PdfReader reader)` Retrieves the page labels from a PDF as an array of `PdfPageLabels.PdfPageLabelFormat` objects.
`static java.lang.String[]` `getPageLabels(PdfReader reader)` Retrieves the page labels from a PDF as an array of String objects.
`void` `removePageLabel(int page)` Removes a page label.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DECIMAL_ARABIC_NUMERALS

    public static final int DECIMAL_ARABIC_NUMERALS

Logical pages will have the form 1,2,3,...

See Also:
  Constant Field Values

#### UPPERCASE_ROMAN_NUMERALS

    public static final int UPPERCASE_ROMAN_NUMERALS

Logical pages will have the form I,II,III,IV,...

See Also:
  Constant Field Values

#### LOWERCASE_ROMAN_NUMERALS

    public static final int LOWERCASE_ROMAN_NUMERALS

Logical pages will have the form i,ii,iii,iv,...

See Also:
  Constant Field Values

#### UPPERCASE_LETTERS

    public static final int UPPERCASE_LETTERS

Logical pages will have the form of uppercase letters (A to Z for the first 26 pages, AA to ZZ for the next 26, and so on)

See Also:
  Constant Field Values

#### LOWERCASE_LETTERS

    public static final int LOWERCASE_LETTERS

Logical pages will have the form of uppercase letters (a to z for the first 26 pages, aa to zz for the next 26, and so on)

See Also:
  Constant Field Values

#### EMPTY

    public static final int EMPTY

No logical page numbers are generated but fixed text may still exist

See Also:
  Constant Field Values

#### numberingStyle

    static PdfName[] numberingStyle

Dictionary values to set the logical page styles

#### map

    private java.util.HashMap map

The sequence of logical pages. Will contain at least a value for page 1

### Constructor Detail

#### PdfPageLabels

    public PdfPageLabels()

Creates a new PdfPageLabel with a default logical page 1

### Method Detail

#### addPageLabel

    public void addPageLabel(int page,
                    int numberStyle,
                    java.lang.String text,
                    int firstPage)

Adds or replaces a page label.

Parameters:
  `page` - the real page to start the numbering. First page is 1
  `numberStyle` - the numbering style such as LOWERCASE_ROMAN_NUMERALS
  `text` - the text to prefix the number. Can be `null` or empty
  `firstPage` - the first logical page number

#### addPageLabel

    public void addPageLabel(int page,
                    int numberStyle,
                    java.lang.String text)

Adds or replaces a page label. The first logical page has the default of 1.

Parameters:
  `page` - the real page to start the numbering. First page is 1
  `numberStyle` - the numbering style such as LOWERCASE_ROMAN_NUMERALS
  `text` - the text to prefix the number. Can be `null` or empty

#### addPageLabel

    public void addPageLabel(int page,
                    int numberStyle)

Adds or replaces a page label. There is no text prefix and the first logical page has the default of 1.

Parameters:
  `page` - the real page to start the numbering. First page is 1
  `numberStyle` - the numbering style such as LOWERCASE_ROMAN_NUMERALS

#### addPageLabel

    public void addPageLabel(PdfPageLabels.PdfPageLabelFormat format)

Adds or replaces a page label.

#### removePageLabel

    public void removePageLabel(int page)

Removes a page label. The first page label can not be removed, only changed.

Parameters:
  `page` - the real page to remove

#### getDictionary

    PdfDictionary getDictionary(PdfWriter writer)

Gets the page label dictionary to insert into the document.

Returns:
  the page label dictionary

#### getPageLabels

    public static java.lang.String[] getPageLabels(PdfReader reader)

Retrieves the page labels from a PDF as an array of String objects.

Parameters:
  `reader` - a PdfReader object that has the page labels you want to retrieve
Returns:
  a String array or `null` if no page labels are present

#### getPageLabelFormats

    public static PdfPageLabels.PdfPageLabelFormat[] getPageLabelFormats(PdfReader reader)

Retrieves the page labels from a PDF as an array of `PdfPageLabels.PdfPageLabelFormat` objects.

Parameters:
  `reader` - a PdfReader object that has the page labels you want to retrieve
Returns:
  a PdfPageLabelEntry array, containing an entry for each format change or `null` if no page labels are present