Package org.apache.pdfbox.printing
Class PDFPageable
- java.lang.Object
-
- java.awt.print.Book
-
- org.apache.pdfbox.printing.PDFPageable
-
- All Implemented Interfaces:
java.awt.print.Pageable
public final class PDFPageable extends java.awt.print.Book
Prints a PDF document using its original paper size.
-
-
Field Summary
Fields Modifier and Type Field Description private PDDocument
document
private float
dpi
private Orientation
orientation
private java.awt.RenderingHints
renderingHints
private boolean
showPageBorder
private boolean
subsamplingAllowed
-
Constructor Summary
Constructors Constructor Description PDFPageable(PDDocument document)
Creates a new PDFPageable.PDFPageable(PDDocument document, Orientation orientation)
Creates a new PDFPageable with the given page orientation.PDFPageable(PDDocument document, Orientation orientation, boolean showPageBorder)
Creates a new PDFPageable with the given page orientation and with optional page borders shown.PDFPageable(PDDocument document, Orientation orientation, boolean showPageBorder, float dpi)
Creates a new PDFPageable with the given page orientation and with optional page borders shown.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getNumberOfPages()
java.awt.print.PageFormat
getPageFormat(int pageIndex)
Returns the actual physical size of the pages in the PDF file.java.awt.print.Printable
getPrintable(int i)
java.awt.RenderingHints
getRenderingHints()
Get the rendering hints.boolean
isSubsamplingAllowed()
Value indicating if the renderer is allowed to subsample images before drawing, according to image dimensions and requested scale.void
setRenderingHints(java.awt.RenderingHints renderingHints)
Set the rendering hints.void
setSubsamplingAllowed(boolean subsamplingAllowed)
Sets a value instructing the renderer whether it is allowed to subsample images before drawing.
-
-
-
Field Detail
-
document
private final PDDocument document
-
showPageBorder
private final boolean showPageBorder
-
dpi
private final float dpi
-
orientation
private final Orientation orientation
-
subsamplingAllowed
private boolean subsamplingAllowed
-
renderingHints
private java.awt.RenderingHints renderingHints
-
-
Constructor Detail
-
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 printorientation
- 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 printorientation
- page orientation policyshowPageBorder
- 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 printorientation
- page orientation policyshowPageBorder
- true if page borders are to be printeddpi
- if non-zero then the image will be rasterized at the given DPI
-
-
Method Detail
-
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
Get the rendering hints.- Returns:
- the rendering hints or null if none are set.
-
setRenderingHints
public void setRenderingHints(java.awt.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 interfacejava.awt.print.Pageable
- Overrides:
getNumberOfPages
in classjava.awt.print.Book
-
getPageFormat
public java.awt.print.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 interfacejava.awt.print.Pageable
- Overrides:
getPageFormat
in classjava.awt.print.Book
-
getPrintable
public java.awt.print.Printable getPrintable(int i)
- Specified by:
getPrintable
in interfacejava.awt.print.Pageable
- Overrides:
getPrintable
in classjava.awt.print.Book
-
-