Mega Code Archive

 
Categories / Java by API / Java Awt Print
 

PageFormat LANDSCAPE

import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.print.Book; import java.awt.print.PageFormat; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterGraphics; import java.awt.print.PrinterJob; public class MainClass {   public static void main(String[] args) {     PrinterJob job = PrinterJob.getPrinterJob();     PageFormat pf = job.defaultPage();     pf.setOrientation(PageFormat.LANDSCAPE);     Book bk = new Book();     bk.append(new paintCover(), pf);     bk.append(new paintContent(), job.defaultPage(), 1);     job.setPageable(bk);     job.setJobName("My book");     if (job.printDialog()) {       try {         job.print();       } catch (PrinterException e) {         System.out.println(e);       }     }   } } class paintContent implements Printable {   public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {     System.out.println("Page index = " + pageIndex);     // pageIndex 1 corresponds to page number 2.     if (pageIndex > 2)       return Printable.NO_SUCH_PAGE;     Graphics2D g2 = (Graphics2D) g;     double w = pf.getImageableWidth();     double h = pf.getImageableHeight();     int xo = (int) pf.getImageableX();     int yo = (int) pf.getImageableY();     Rectangle2D r = new Rectangle2D.Double(xo, yo, w, h);     g2.setColor(Color.red);     g2.draw(r);     return Printable.PAGE_EXISTS;   } } class paintCover implements Printable {   public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {     Graphics2D g2 = (Graphics2D) g;     double w = pf.getImageableWidth();     double h = pf.getImageableHeight();     int xo = (int) pf.getImageableX();     int yo = (int) pf.getImageableY();     Rectangle2D r = new Rectangle2D.Double(xo, yo, w, h);     g2.setColor(Color.red);     g2.draw(r);     PrinterGraphics p = (PrinterGraphics) g2;     String s = p.getPrinterJob().getJobName();     g2.setPaint(Color.black);     g2.drawString(s, 0, 0);     return Printable.PAGE_EXISTS;   } }