# Class PageLayout

java.lang.Object
javafx.print.PageLayout

public final class PageLayout extends Object
A PageLayout encapsulates the information needed to lay out content. The reported width and height can be considered equivalent to the clip enforced by a Window. Applications that obtain a PageLayout instance will need to inspect the width and height to perform layout and pagination. Other information such as orientation and the Paper being used and margins outside of this area are not needed for page rendering.

Printers usually have hardware margins where they cannot print. A PageLayout instance obtained from a PrinterJob in the context of a specific printer will be correctly set up to print over the whole of that area. If an application adjusts the printable area outside of this bounds, rendering to those areas will be clipped by the device.

Within those hardware margins, the application may define any printable area it needs. The resulting printable area will define the effective dimensions of the page available to the application at printing time.

Applying a PageLayout configured based on one printer, to a job on a different printer may not work correctly, as the second printer may not support the same margins, and may not even support the same Paper. In such a case, the PageLayout must be validated against the new printer.

A PageLayout is immutable.

Since:
  JavaFX 8.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `double`
  `getBottomMargin()`
  Returns the bottom margin of the page layout in points.
  `double`
  `getLeftMargin()`
  Returns the left margin of the page layout in points.
  `PageOrientation`
  `getPageOrientation()`
  Gets the `PageOrientation`.
  `Paper`
  `getPaper()`
  The paper used.
  `double`
  `getPrintableHeight()`
  Returns the height dimension of the printable area of the page, in 1/72 of an inch, taking into account the orientation.
  `double`
  `getPrintableWidth()`
  Returns the width dimension of the printable area of the page, in 1/72 of an inch points, taking into account the orientation.
  `double`
  `getRightMargin()`
  Returns the right margin of the page layout in points.
  `double`
  `getTopMargin()`
  Returns the top margin of the page layout in points.

  ### Methods declared in class Object

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

- ## Method Details

  - ### getPageOrientation

    public PageOrientation getPageOrientation()
    Gets the `PageOrientation`.
    Returns:
      the `PageOrientation`

  - ### getPaper

    public Paper getPaper()
    The paper used.
    Returns:
      the Paper used for this `PageLayout`.

  - ### getPrintableWidth

    public double getPrintableWidth()
    Returns the width dimension of the printable area of the page, in 1/72 of an inch points, taking into account the orientation.

    The printable area is width or height reduced by the requested margins on each side. If the requested margins are smaller than the the hardware margins, rendering may be clipped by the device.

    Since the returned value accounts for orientation, this means if if the orientation is LANDSCAPE or REVERSE_LANDSCAPE, then the left and right margins are subtracted from the height of the underlying paper, since it is rotated 90 degrees.

    Returns:
      printable width in points.

  - ### getPrintableHeight

    public double getPrintableHeight()
    Returns the height dimension of the printable area of the page, in 1/72 of an inch, taking into account the orientation.

    The printable area is width or height reduced by the requested margins on each side. If the requested margins are smaller than the the hardware margins, rendering may be clipped by the device.

    Since the returned value accounts for orientation, this means if if the orientation is LANDSCAPE or REVERSE_LANDSCAPE, then the top and bottom margins are subtracted from the height of the underlying paper, since it is rotated 90 degrees.

    Returns:
      printable height in points.

  - ### getLeftMargin

    public double getLeftMargin()
    Returns the left margin of the page layout in points. This value is in the orientation of the PageLayout.
    Returns:
      left margin in points.

  - ### getRightMargin

    public double getRightMargin()
    Returns the right margin of the page layout in points. This value is in the orientation of the PageLayout.
    Returns:
      right margin in points.

  - ### getTopMargin

    public double getTopMargin()
    Returns the top margin of the page layout in points. This value is in the orientation of the PageLayout.
    Returns:
      top margin in points.

  - ### getBottomMargin

    public double getBottomMargin()
    Returns the bottom margin of the page layout in points. This value is in the orientation of the PageLayout.
    Returns:
      bottom margin in points.