Pageable (Java Platform SE 8 )
Keywords: java.awt.print.Pageable interface
Date: 2026-04-17

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.