Avatar billede lazy_warrior Nybegynder
27. juli 2003 - 19:35 Der er 2 kommentarer og
1 løsning

lave default landscape ved print

Hejsa
Jeg har har bøvlet llidt rundet med noget udskrift noget.
Det der skal udskrives kræver at papiret ligger ned (Landscape), men jeg kan ikke få det printet ud ordenligt uden at man som bruger skal vælge det i printer-dialogen.
Kan det ikke gøres automatisk?

Her min kode fra med print-dialogen:

public void printData()
    {
        PrinterJob pjob = PrinterJob.getPrinterJob();
        pjob.setPrintable(this);
        if(pjob.printDialog())
        {
            try
            {
                pjob.print();
            }
            catch(PrinterException e)
            {
                e.printStackTrace();
            }
        }

    }

I printmetoden har jeg også denne linie:

pf.setOrientation(PageFormat.LANDSCAPE);

hvor pf er PageFormat for printerjobbet, det bevirker dog kun variablerne der skal bruges bved beregning af hvor tingene skal være, og ikke selve papiret.

Opsumering:
Hvordan får man printer-dialogen til default at vælge landscape (at papiret ligger ned), eller noget der gør det samme.

Lazy_Warrior
Avatar billede _carsten Nybegynder
27. juli 2003 - 23:12 #1
Nedenstående burde løse problemet.


PrinterJob pjob = PrinterJob.getPrinterJob();

java.awt.print.PageFormat page = new java.awt.print.PageFormat();
page.setOrientation(java.awt.print.PageFormat.LANDSCAPE);

pjob.setPrintable( this , page);

  // Herefter direkte videre i din kode, springer print dialogen over
            try
            {
                pjob.print();
            }
            catch(PrinterException e)
            {
                e.printStackTrace();
            }
Avatar billede _carsten Nybegynder
27. juli 2003 - 23:16 #2
Hvis du VIL vise print dialogen, burde det kunne gøres sådan.

java.awt.print.PageFormat page = new java.awt.print.PageFormat();
page.setOrientation(java.awt.print.PageFormat.LANDSCAPE);

pjob.defaultPage(page);
pjob.setPrintable(this);

        if(pjob.printDialog())
        {
            try
            {
                pjob.print();
            }
            catch(PrinterException e)
            {
                e.printStackTrace();
            }
        }
Avatar billede lazy_warrior Nybegynder
28. juli 2003 - 00:10 #3
Din første løsning virker, men det andet kan jeg ikke lige få til at virke

Men bare kanon!!!!
Det var det jeg manglede!!!
Mange takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester