Printing Pages with Different Formats

A Book object is used when printing pages with different page formats. This example prints the first page in landscape and five more pages in portrait.
public class PrintBook { public static void main(String[] args) { PrinterJob pjob = PrinterJob.getPrinterJob(); Book book = new Book(); // First part. PageFormat landscape = pjob.defaultPage(); landscape.setOrientation(PageFormat.LANDSCAPE); book.append(new Printable1(), landscape); // Second part. PageFormat portrait = pjob.defaultPage(); portrait.setOrientation(PageFormat.PORTRAIT); book.append(new Printable2(), portrait, 5); pjob.setPageable(book); try { pjob.print(); } catch (PrinterException e) { } } static class Printable1 implements Printable { public int print(Graphics g, PageFormat pf, int pageIndex) { drawGraphics(g, pf); return Printable.PAGE_EXISTS; } } static class Printable2 implements Printable { public int print(Graphics g, PageFormat pf, int pageIndex) { drawGraphics(g, pf); return Printable.PAGE_EXISTS; } } }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.