Druckprozess überwachen / Druckerwarteschlange

schinni

Grünschnabel
Hallo zusammen,

ich starte den Acrobat Reader mit folgender Befehlszeile:

Code:
Process p =Runtime.getRuntime().exec(acrread + " /h /t " + filepath + " " + printerName);


d.h. ich will ein PDF File Drucken (möglichst) ohne, dass der reader sichtbar ist. So funktioniert es zwar, allerdings bleibt der Acrobat Reader geöffnet...

Eine Möglichkeit wäre:

Thread.sleep(10000);
p.destroy();

aber da fängt es dann an richtig pervers zu werden. Selbst der Aufruf über getRuntime.exec finde ich nicht wirklich als saubere Lösung, aber anscheinend gibt es hier wirkich keine einheitliche Möglichkeit.

wenn ich mit p.waitfor() auf den Prozess warte müsste der User den Reader manuell schliessen was ich vermeiden will!!

Falls es keine Möglichkeit gibt de Prozess vernünftig zu überwachen kommt man dann irgendwie an den gestartetet Druckauftrrag ran oder kann man die Druckerwarteschlange überwachen?

Danke und Gruß
Stefan
 
Hallo Flo,

danke für die Antwort, aber da ich das ganze in einem Applet in einem Intranet laufen lassen muss kann ich keine Drittanbieter verwenden. Das ist ja das Problem!

Mal sehen, vielleicht kann ich iText doch irgendwie verwenden.

Aber abgesehen von der PDF generierung bzw. Steuerung muss es odch eine Möglichkeit geben direkt die Eigenschaften eines Druckers anzusprechen.


siehe diesen thread hier:
http://www.tutorials.de/forum/java/289037-druckerport-auslesen.html

lg
Stefan
 
In einem Applet kannst du auch mehrer Jars mit reinladen. Das geht über den Archiv Tag. Habe das zwar noch nie gemacht, sollte aber en (würde mich zumindest schwer wundern wenn nicht. :)).

http://htmlhelp.com/reference/html40/special/applet.html

Ich bin mir relativ sicher, dass du mit nativ Java nicht die Windows Druckerqueque ansprechen kannst. Java ist Plattform unabhängig. Die Windows Druckerwarterschlange nicht (Windows druckt auch anders als Linux und co. Versuche mal einen nicht Postscript fähigen Windows-Drucker unter Linux einzurichten, dass ist ein Glücksspiel).

Daher würde ich auf jedenfall den Weg, das PDF in Java zu öffnen probieren. Ich glaube da hast du eher erfolgt (ist aber nur ein Bauchgefühl). ;)

Alternativ könntest du auch nach einer anderen Lösung suchen, die dir das PDF unter Windows druckt, ohne einen Gui zu starten (das geht vielleicht sogar auch mit dem Acrobat).

Gruß
Flo
 
Zurück