2012-05-08 3 views
1

У меня есть класс с именем PrintablemyPrintableObject и метод печати подавляться в следующем порядке:страницу печать помощи на первой странице

public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException 
     { 
     if(pageIndex<5) 
      { 
      pf.setOrientation(PageFormat.LANDSCAPE); 
      g.drawString("HELLO FRIEND",100,180); 
      return PAGE_EXISTS; 
      } 
     else 
      {return NO_SUCH_PAGE;} 

    } 

Я хотел напечатать несколько страниц в альбомной ориентации в этом же документе. Это печать, кроме первой страницы. Он всегда печатается в портретной ориентации.

Как это исправить?

+0

Вы должны переопределить метод PageFormat getPageFormat (интермедиат pageIndex) выгружаемый интерфейса – StanislavL

+0

вы, пожалуйста, объясните подробно ???? @ StanislavL – ARNAB2012

ответ

1

Здесь вы:

PrinterJob job = PrinterJob.getPrinterJob(); 
    PageFormat pf = job.defaultPage(); 
    pf.setOrientation(PageFormat.LANDSCAPE); 
    job.setPrintable(myPrintableObject, pf); 

Рабочий пример:

public class MyPrintable implements Printable { 

    public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { 
     if (pageIndex < 5) { 
      graphics.drawString("HELLO FRIEND", 100, 180); 
      return PAGE_EXISTS; 
     } else { 
      return NO_SUCH_PAGE; 
     } 
    } 

    public static void main(String[] args) { 
     PrinterJob job = PrinterJob.getPrinterJob(); 
     PageFormat pf = job.defaultPage(); 
     pf.setOrientation(PageFormat.LANDSCAPE); 
     job.setPrintable(new MyPrintable(), pf); 

     boolean ok = job.printDialog(); 
     if (ok) { 
      try { 
       job.print(); 
      } catch (PrinterException ex) { 
       /* The job did not successfully complete */ 
      } 
     } 
    } 
} 
Смежные вопросы