Avatar billede dennism Nybegynder
09. september 2006 - 15:38 Der er 17 kommentarer og
1 løsning

Java: Print?

Jeg kunne godt tænke mig at vide, hvordan man udskriver noget tekst til printeren via Java?
Avatar billede moocher Nybegynder
09. september 2006 - 16:02 #1
Avatar billede _carsten Nybegynder
09. september 2006 - 16:14 #2
Det er desværre ikke så simpelt, her er et eksempel

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class SimplePrint {

    public SimplePrint() {
       
    }

    public static void main(String[] args) {
        PrinterJob job = PrinterJob.getPrinterJob();
        ToPrinter tp = new ToPrinter();
       
        job.setPrintable(tp);
       
        try{
            job.print();
        }
        catch (PrinterException p){
            p.printStackTrace();
        }
       
    }
   
}


class ToPrinter implements  Printable{
    public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
        if(pageIndex == 1)
            return NO_SUCH_PAGE;
       
        Graphics2D g2 = (Graphics2D)g;
       
        g2.translate((int)pf.getImageableX(), (int)pf.getImageableY());
       
        g2.drawString("Denne tekst udskrives på printeren", 50, 50);

        return PAGE_EXISTS;
    }
}
Avatar billede arne_v Ekspert
09. september 2006 - 21:17 #3
alternativt er der javax.print som kom til i Java 1.4
Avatar billede dennism Nybegynder
10. september 2006 - 20:32 #4
Kan du give et eksempel på anvendelse af javax.print?
Avatar billede arne_v Ekspert
10. september 2006 - 22:39 #5
java.awt.print = print af noget som du genererer

javax.print = print af en ekstern fil

http://javaalmanac.com/egs/javax.print/pkg.html
http://www-128.ibm.com/developerworks/java/library/j-mer0322/
Avatar billede dennism Nybegynder
14. september 2006 - 10:22 #6
Det jeg skal printe er en kupon med noget tekst som jeg selv genererer. Evt. med et baggrundsbillede el. lign.
Det er vel mest oplagt at bruge java.awt.print til dette?
Avatar billede dennism Nybegynder
14. september 2006 - 10:22 #7
Har lige smidt flere point i her :)
Avatar billede arne_v Ekspert
15. september 2006 - 02:42 #8
ja

kig på carstens eksempel
Avatar billede dennism Nybegynder
27. september 2006 - 10:30 #9
Sådan, så er jeg fået kigget på koden :)
Det virker ;) Hvordan kan man angive, hvilken printer der skal udskrives på?
Avatar billede _carsten Nybegynder
27. september 2006 - 20:57 #10
Den meget simple er her

        try{
            job.printDialog();
        }
        catch (PrinterException p){
            p.printStackTrace();
        }

Så vises en dialog hvorfra man kan vælge, man kan selvfølgelig også skrue sin egen kode sammen, men det er beværligt.
Avatar billede dennism Nybegynder
28. september 2006 - 10:05 #11
Tak :)

Men denne printDialog får jeg altså en dialog-boks frem, som lader mig vælge en printer, hvor imod dit første eksempel bare printede på standard-printeren. Korrekt?
Hvordan angiver man en specifik printer til at printe på?
Avatar billede _carsten Nybegynder
28. september 2006 - 16:49 #12
1. Ja

2. Det er det som er den besværlige del af det, da du selv skal programmere temmelig meget.

a) Først skal du vide hvilke printere der er installeret.
b) Derefter skal du vide hvilke papirtyper de kan håndtere.
c) Om nogen af printerne kan håndtere det du vil udskrive.

Jeg har godt nok noget liggende, men det er desværre bygget sammen med en masse andre ting, i forbindelse med en app. jeg lavede, jeg vil ikke poste det her, da vil tage mig lang tid at skille det ad og gøre det overskueligt - hvis det da ellers er muligt.
Avatar billede dennism Nybegynder
28. september 2006 - 17:31 #13
Det er også helt iorden! :)
Gider du at smide et svar, carsten? Så skal du få nogle point.
Avatar billede dennism Nybegynder
28. september 2006 - 19:23 #14
Evt. noget af jer, der kan hjælpe her:
http://www.eksperten.dk/spm/735287
Avatar billede _carsten Nybegynder
28. september 2006 - 19:35 #15
Svar
Avatar billede dennism Nybegynder
28. september 2006 - 19:49 #16
arne, vil du lige smide et svar også? så får du 7 point med herfra..
Avatar billede arne_v Ekspert
28. september 2006 - 20:04 #17
jeg frafalder i dette spoergsmaal
Avatar billede dennism Nybegynder
28. september 2006 - 20:11 #18
tak for hjælpen!
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