Package javafx.print

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 Details

    • getPageOrientation

      public PageOrientation getPageOrientation()
    • 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.
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object