# Im Querformat drucken mit PrintJob



## nurikabe (28. Aug 2007)

Hallo allerseites,

ich möchte gerne eine Voreinstellung in meinem Druckdialog schaffen, damit ich nicht immer das Querformat manuell auswählen muss.

Weiß jemand wie das geht?


```
void drucke()
    {
      PrintJob prjob = getToolkit().getPrintJob( this, "Testseite", null );
      
      if( null != prjob )
      {
       
        final int iPageResol             = prjob.getPageResolution();
        
       
        Graphics pg = prjob.getGraphics();
        
        if( null != pg && 0 < iPageResol )
        {
          int iAddY = 18;
          int iRand = (int)Math.round( iPageResol * 2. / 2.54 );  // 2 cm Rand
          int iPosX = iRand + iRand/4;                            // Textposition
         
          
   
          iPosY=78;
         
          pg.setFont(new Font("TimesNewRoman",Font.PLAIN,20));
          pg.drawString(date.getText(), iPosX, 24);
          
          
        }
        prjob.end();
      }
```
 :wink:


----------



## P3AC3MAK3R (28. Aug 2007)

Folgende Links könnten weiterhelfen:

http://java.sun.com/j2se/1.4.2/docs/api/java/awt/print/PageFormat.html#setOrientation(int)
http://jug.org.ua/wiki/display/JavaAlmanac/Setting+the+Orientation+of+a+Printed+Page


----------



## André Uhres (28. Aug 2007)

```
package print;
/*
 * DruckTest.java
 */
import java.awt.*;
import java.awt.print.*;
import javax.swing.*;
public class DruckTest extends JFrame{
    private int iPosY;
    public DruckTest() {
        drucke();
    }
    void drucke() {
        PrinterJob prjob = PrinterJob.getPrinterJob();
        PageFormat pageFormat = new PageFormat();
        pageFormat.setOrientation(PageFormat.LANDSCAPE);
        Paper paper = new Paper();
        // Set to A4 size.
        paper.setSize(594.936, 841.536);
        // Set the margins.
        paper.setImageableArea(0, 0, 594.936, 841.536);
        pageFormat.setPaper(paper);
        prjob.setPrintable(new Drucksache(), pageFormat);
        if (prjob.printDialog())
            try {
                prjob.print();
            } catch(PrinterException pe) {
                System.out.println("Error printing: " + pe);
            }
    }
    public static void main(final String[] args) {new DruckTest();}
}
class Drucksache implements Printable{
    public int print(final Graphics pg, final PageFormat pageFormat, 
            final int pageIndex) throws PrinterException {
        if(pageIndex > 0) return Printable.NO_SUCH_PAGE;
        pg.setFont(new Font("TimesNewRoman",Font.PLAIN,20));
        pg.drawString("TEST", 70, 24);
        return Printable.PAGE_EXISTS;
    }
}
```


----------



## nurikabe (28. Aug 2007)

Leider hilft mir das nicht weiter da ich kein PrinterJob sondern PrintJob benutze

Kann mir sost wer noch helfen?


----------



## nurikabe (28. Aug 2007)

Danke für die Hilfe


----------

