Module java.desktop
Package java.awt.print

## Interface Pageable

All Known Implementing Classes:
  Book

    public interface Pageable

The `Pageable` implementation represents a set of pages to be printed. The `Pageable` object returns the total number of pages in the set as well as the `PageFormat` and `Printable` for a specified page.

See Also:
  `PageFormat`, `Printable`

### Field Summary

Fields
`static int` `UNKNOWN_NUMBER_OF_PAGES` This constant is returned from the `getNumberOfPages` method if a `Pageable` implementation does not know the number of pages in its set.

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `getNumberOfPages()` Returns the number of pages in the set.
`PageFormat` `getPageFormat(int pageIndex)` Returns the `PageFormat` of the page specified by `pageIndex`.
`Printable` `getPrintable(int pageIndex)` Returns the `Printable` instance responsible for rendering the page specified by `pageIndex`.

### Field Detail

#### UNKNOWN_NUMBER_OF_PAGES

    @Native
    static final int UNKNOWN_NUMBER_OF_PAGES

This constant is returned from the `getNumberOfPages` method if a `Pageable` implementation does not know the number of pages in its set.

See Also:
  Constant Field Values

### Method Detail

#### getNumberOfPages

    int getNumberOfPages()

Returns the number of pages in the set. To enable advanced printing features, it is recommended that `Pageable` implementations return the true number of pages rather than the UNKNOWN_NUMBER_OF_PAGES constant.

Returns:
  the number of pages in this `Pageable`.

#### getPageFormat

    PageFormat getPageFormat(int pageIndex)
                      throws IndexOutOfBoundsException

Returns the `PageFormat` of the page specified by `pageIndex`.

Parameters:
  `pageIndex` - the zero based index of the page whose `PageFormat` is being requested
Returns:
  the `PageFormat` describing the size and orientation.
Throws:
  `IndexOutOfBoundsException` - if the `Pageable` does not contain the requested page.

#### getPrintable

    Printable getPrintable(int pageIndex)
                    throws IndexOutOfBoundsException

Returns the `Printable` instance responsible for rendering the page specified by `pageIndex`.

Parameters:
  `pageIndex` - the zero based index of the page whose `Printable` is being requested
Returns:
  the `Printable` that renders the page.
Throws:
  `IndexOutOfBoundsException` - if the `Pageable` does not contain the requested page.