Class PDFPageable

java.lang.Object
java.awt.print.Book
org.apache.pdfbox.printing.PDFPageable
All Implemented Interfaces:
Pageable

public final class PDFPageable extends Book
Prints a PDF document using its original paper size.
  • Field Details

    • document

      private final PDDocument document
    • numberOfPages

      private final int numberOfPages
    • showPageBorder

      private final boolean showPageBorder
    • dpi

      private final float dpi
    • orientation

      private final Orientation orientation
    • subsamplingAllowed

      private boolean subsamplingAllowed
    • renderingHints

      private RenderingHints renderingHints
  • Constructor Details

    • PDFPageable

      public PDFPageable(PDDocument document)
      Creates a new PDFPageable.
      Parameters:
      document - the document to print
    • PDFPageable

      public PDFPageable(PDDocument document, Orientation orientation)
      Creates a new PDFPageable with the given page orientation.
      Parameters:
      document - the document to print
      orientation - page orientation policy
    • PDFPageable

      public PDFPageable(PDDocument document, Orientation orientation, boolean showPageBorder)
      Creates a new PDFPageable with the given page orientation and with optional page borders shown. The image will be rasterized at the given DPI before being sent to the printer.
      Parameters:
      document - the document to print
      orientation - page orientation policy
      showPageBorder - true if page borders are to be printed
    • PDFPageable

      public PDFPageable(PDDocument document, Orientation orientation, boolean showPageBorder, float dpi)
      Creates a new PDFPageable with the given page orientation and with optional page borders shown. The image will be rasterized at the given DPI before being sent to the printer.
      Parameters:
      document - the document to print
      orientation - page orientation policy
      showPageBorder - true if page borders are to be printed
      dpi - if non-zero then the image will be rasterized at the given DPI
  • Method Details

    • getRenderingHints

      public RenderingHints getRenderingHints()
      Get the rendering hints.
      Returns:
      the rendering hints or null if none are set.
    • setRenderingHints

      public void setRenderingHints(RenderingHints renderingHints)
      Set the rendering hints. Use this to influence rendering quality and speed. If you don't set them yourself or pass null, PDFBox will decide at runtime depending on the destination.
      Parameters:
      renderingHints -
    • isSubsamplingAllowed

      public boolean isSubsamplingAllowed()
      Value indicating if the renderer is allowed to subsample images before drawing, according to image dimensions and requested scale. Subsampling may be faster and less memory-intensive in some cases, but it may also lead to loss of quality, especially in images with high spatial frequency.
      Returns:
      true if subsampling of images is allowed, false otherwise.
    • setSubsamplingAllowed

      public void setSubsamplingAllowed(boolean subsamplingAllowed)
      Sets a value instructing the renderer whether it is allowed to subsample images before drawing. The subsampling frequency is determined according to image size and requested scale. Subsampling may be faster and less memory-intensive in some cases, but it may also lead to loss of quality, especially in images with high spatial frequency.
      Parameters:
      subsamplingAllowed - The new value indicating if subsampling is allowed.
    • getNumberOfPages

      public int getNumberOfPages()
      Specified by:
      getNumberOfPages in interface Pageable
      Overrides:
      getNumberOfPages in class Book
    • getPageFormat

      public PageFormat getPageFormat(int pageIndex)
      Returns the actual physical size of the pages in the PDF file. May not fit the local printer.
      Specified by:
      getPageFormat in interface Pageable
      Overrides:
      getPageFormat in class Book
    • getPrintable

      public Printable getPrintable(int i)
      Specified by:
      getPrintable in interface Pageable
      Overrides:
      getPrintable in class Book