Pageable (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: java.awt.print, interface: Pageable
Keywords: java.awt.print.Pageable interface

# 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
  Modifier and Type
  Field
  Description
  `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.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 Details

  - ### 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 Details

  - ### 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.