Class PDPageable

  • All Implemented Interfaces:
    java.awt.print.Pageable, java.awt.print.Printable

    public class PDPageable
    extends java.lang.Object
    implements java.awt.print.Pageable, java.awt.print.Printable
    Adapter class that implements the Pageable and Printable interfaces for printing a given PDF document. Note that the given PDF document should not be modified (pages added, removed, etc.) while an instance of this class is being used.
    Since:
    Apache PDFBox 1.3.0
    See Also:
    PDFBOX-788
    • Field Summary

      • Fields inherited from interface java.awt.print.Pageable

        UNKNOWN_NUMBER_OF_PAGES
      • Fields inherited from interface java.awt.print.Printable

        NO_SUCH_PAGE, PAGE_EXISTS
    • Constructor Summary

      Constructors 
      Constructor Description
      PDPageable​(PDDocument document)
      Creates a Pageable adapter for the given PDF document using a default printer job returned by PrinterJob.getPrinterJob().
      PDPageable​(PDDocument document, java.awt.print.PrinterJob printerJob)
      Creates a Pageable adapter for the given PDF document and printer job.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getNumberOfPages()
      Returns the number of pages in the given PDF document.
      java.awt.print.PageFormat getPageFormat​(int i)
      Returns the format of the page at the given index.
      java.awt.print.Printable getPrintable​(int i)
      Returns a Printable for the page at the given index.
      java.awt.print.PrinterJob getPrinterJob()
      Returns the printer job for printing the given PDF document.
      int print​(java.awt.Graphics graphics, java.awt.print.PageFormat format, int i)
      Prints the page at the given index.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PDPageable

        public PDPageable​(PDDocument document,
                          java.awt.print.PrinterJob printerJob)
                   throws java.lang.IllegalArgumentException,
                          java.awt.print.PrinterException
        Creates a Pageable adapter for the given PDF document and printer job.
        Parameters:
        document - PDF document
        printerJob - printer job
        Throws:
        java.lang.IllegalArgumentException - if an argument is null
        java.awt.print.PrinterException - if the document permissions prevent printing
      • PDPageable

        public PDPageable​(PDDocument document)
                   throws java.lang.IllegalArgumentException,
                          java.awt.print.PrinterException
        Creates a Pageable adapter for the given PDF document using a default printer job returned by PrinterJob.getPrinterJob().
        Parameters:
        document - PDF document
        Throws:
        java.lang.IllegalArgumentException - if the argument is null
        java.awt.print.PrinterException - if the document permissions prevent printing
    • Method Detail

      • getPrinterJob

        public java.awt.print.PrinterJob getPrinterJob()
        Returns the printer job for printing the given PDF document.
        Returns:
        printer job
      • getNumberOfPages

        public int getNumberOfPages()
        Returns the number of pages in the given PDF document.
        Specified by:
        getNumberOfPages in interface java.awt.print.Pageable
        Returns:
        number of pages
      • getPageFormat

        public java.awt.print.PageFormat getPageFormat​(int i)
                                                throws java.lang.IndexOutOfBoundsException
        Returns the format of the page at the given index.
        Specified by:
        getPageFormat in interface java.awt.print.Pageable
        Parameters:
        i - page index, zero-based
        Returns:
        page format
        Throws:
        java.lang.IndexOutOfBoundsException - if the page index is invalid
      • getPrintable

        public java.awt.print.Printable getPrintable​(int i)
                                              throws java.lang.IndexOutOfBoundsException
        Returns a Printable for the page at the given index. Currently this method simply returns the underlying PDPage object that directly implements the Printable interface, but future versions may choose to return a different adapter instance.
        Specified by:
        getPrintable in interface java.awt.print.Pageable
        Parameters:
        i - page index, zero-based
        Returns:
        printable
        Throws:
        java.lang.IndexOutOfBoundsException - if the page index is invalid
      • print

        public int print​(java.awt.Graphics graphics,
                         java.awt.print.PageFormat format,
                         int i)
                  throws java.awt.print.PrinterException
        Prints the page at the given index.
        Specified by:
        print in interface java.awt.print.Printable
        Parameters:
        graphics - printing target
        format - page format
        i - page index, zero-based
        Returns:
        Printable.PAGE_EXISTS if the page was printed, or Printable.NO_SUCH_PAGE if page index was invalid
        Throws:
        java.awt.print.PrinterException - if printing failed