Avatar billede krestenbanke Nybegynder
17. juni 2004 - 13:39 Der er 6 kommentarer og
1 løsning

Print til specifik printer

Hvordan kan man udskrive til en specifik printer uden at bruge printDialog()?

Jeg importerer:
import java.awt.*;
import java.awt.print.*;

og bruger klassen:
PrinterJob
til udskriften.

Normalt bruges printDialog() hvorigennem printeren vælges af brugeren.

Hvis man udelader printDialog og bare kører Print() udskrives der til den printer der er valgt som default printer i windows.

Er der en måde hvorpå man kan fra kildekoden kan vælge udskrift til en bestemt printer, ved f.eks. at udskrive til printeren på en bestemt port (lpt1, lpt2, com1). Eller ved hjælp af' printernavnet, eksempelvis HP4000, Canon 4200 eller lignende??

Håber der er een som kan hjælpe...
Avatar billede jpvj Nybegynder
17. juni 2004 - 13:55 #1
Hvilken version af Java SDK bruger du?
Avatar billede krestenbanke Nybegynder
17. juni 2004 - 14:00 #2
Version 1.3.1_01
Avatar billede krestenbanke Nybegynder
17. juni 2004 - 14:00 #3
Sun...
Avatar billede jpvj Nybegynder
17. juni 2004 - 14:05 #4
OK.

Søgte lidt og fandt denne tråd. Er det en løsning der er beskrevet nederst?
Avatar billede krestenbanke Nybegynder
17. juni 2004 - 14:23 #6
Hmm....idéen er der jo, men jeg bruger:

java.awt.print.*

i eksemplet bruges der
javax.print.*

Derfor udskrives der på en anden måde....
Avatar billede krestenbanke Nybegynder
17. juni 2004 - 18:06 #7
Fandt lidt hjælp på sun's forum...
Virker som det står nedenfor:

____________

PrinterJob job = PrinterJob.getPrinterJob();

job.setPrintable(this);
   
PrintService[] services = PrinterJob.lookupPrintServices();

PrintService ps = null;

    for (int i=0; i<services.length; i++) {

            //System.out.println("Selected Printer: " + services[i].getName());
   
      String sPrinterName = services[i].getName();
           
      //navnet paa den printer der skal printes fra
      String minPrinter = ("Lexmark Z25-Z35");
           
      if  (sPrinterName.matches(minPrinter)) {
             
      ps = services[i];
                    //System.out.println("Har fundet printer: " + services[i].getName());
            }
        }
        try {
                  job.setPrintService(ps);
                job.print();
              }
        catch (Exception e) {
                /* handle exception */ 
}
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