Printer ohne Dialog anwählen



  • Guten Tag zusammen,

    würde gerne wissen, wie man einen Drucker mittels PrinterJob automatisch anwählt. Default Drucker ist ja kein Thema, aber einen anderen anwählen, packe ich nicht 🙂

    Vielen Dank für Hilfe

    Normen



  • Hello again,

    habs selbst gefunden:

    //Folgendes zeigt, wie man an die Namen der Drucker kommt, um intern den
    //Drucker zu finden, den man auch finden möchte:
    ...
    String printer = C_Tools.ConvertHTMLString(req.getParameter("Printer"));
    PrintService[] ps = PrinterJob.lookupPrintServices();int pi = -1;
    for (int i = 0; i < ps.length; i++)
    {
    if (ps[i].getName().equalsIgnoreCase(printer))
    {
    pi = i;
    break;
    }
    }
    ...

    //Zeigt wie man den oben gefunden Printservice dem PrinterJob zuordnet

    public boolean Print(String xMLFile, String xSLTFile, PrintService ps)
    {
    try
    {
    ...
    PrinterJob pj = PrinterJob.getPrinterJob();
    pj.setPrintService(ps);
    C_PrintRenderer renderer = new C_PrintRenderer(pj);
    pj.setCopies(1);
    driver.setRenderer(renderer);
    driver.render(input.getParser(),input.getInputSource());
    }
    catch(Exception e)
    {
    C_Tools.WriteLog(LogFile,e.getLocalizedMessage());
    return false;
    }
    return true;
    }

    Grüße

    Normen


Anmelden zum Antworten