moin
Ich hole mir mit "PrintServiceLookup.lookupPrintServices" eine Liste aller angeschlossenen Drucker
Solang ich folgenden Code verwende, geschieht das auch in ca 10ms:
Sobald ich aber auch nur ein einziges Attribut (zb: attributes.add(MediaSizeName.ISO_A4); ) setzte, dauert das je nach Rechner zwischen wenigen Sekunden und über 5 Minuten (ja ich hab reproduzierbar 320s gemessen).
Hat jemand dafür eine Erklärung?
Noch ne andere Frage so nebenbei: Gibt's einen Weg in Java zu bestimmen, welche Drucker angeschlossen und/oder online sind? Wenn ich das hier von Microsoft richtig interpretier, geht das (zumindest unter Windows) nur wenn man einen Auftrag an den Drucker schickt - aber irgendwie kanns das doch nicht sein - ich will doch VOR dem Drucken wissen ob das Gerät verfügbar ist.
Unter Vista ist aber in der Systemsteuerung zumindest bei lokalen Druckern das Symbol ausgegraut, wenn sie nicht angeschlossen sind. Also muß es ja doch irgendwie gehen ...
Hier im Forum schreibt jemand das könne mit einem externem Programm gehen - tja nur wie könnte das aussehen? Und der Poster erwähnt auch noch JavaPOS - aber dafür benötige ich doch die Unterstützung des Geräteherstellers, oder? Wenn ich also beliebige Drucker unterstützen will, bringt mir das nicht viel oder doch?
Vielen Dank schon mal
cu boesi
Ich hole mir mit "PrintServiceLookup.lookupPrintServices" eine Liste aller angeschlossenen Drucker
Solang ich folgenden Code verwende, geschieht das auch in ca 10ms:
Code:
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
this.printers = PrintServiceLookup.lookupPrintServices(flavor, attributes);
Hat jemand dafür eine Erklärung?
Noch ne andere Frage so nebenbei: Gibt's einen Weg in Java zu bestimmen, welche Drucker angeschlossen und/oder online sind? Wenn ich das hier von Microsoft richtig interpretier, geht das (zumindest unter Windows) nur wenn man einen Auftrag an den Drucker schickt - aber irgendwie kanns das doch nicht sein - ich will doch VOR dem Drucken wissen ob das Gerät verfügbar ist.
Unter Vista ist aber in der Systemsteuerung zumindest bei lokalen Druckern das Symbol ausgegraut, wenn sie nicht angeschlossen sind. Also muß es ja doch irgendwie gehen ...
Hier im Forum schreibt jemand das könne mit einem externem Programm gehen - tja nur wie könnte das aussehen? Und der Poster erwähnt auch noch JavaPOS - aber dafür benötige ich doch die Unterstützung des Geräteherstellers, oder? Wenn ich also beliebige Drucker unterstützen will, bringt mir das nicht viel oder doch?
Vielen Dank schon mal
cu boesi