AWT Drucken aus bestimmtem Papierfach

spaghetti

Mitglied
Moin,
ich möchte mehrere (gleiche) Dokumente aus verschiedenen Papierfächern verschiedener Drucker (ohne Usereingriff) drucken.
Als Parameter habe ich nur die nummer des Fachs, wie sie der Anwender im Druckdialog auswählen würde (Fach 1, Fach 2 usw...).
Grundsätzlich kann dem PrintJob ja ein MediaTray im PrintRequestAttributeSet mitgeben und dann von MediaTray.TOP, MediaTray.BOTTOM usw. drucken - leider haben diese Standard-Trays wenig mit dem zu tun, wie wirklich gedruckt wird. Soll heissen, das ich über TOP das 2. (untere) Tray erwische usw..

Über das PrintService Objekt bekomme ich Infos über die Trays der Drucker - wäre aber schön, wenn ich die dann auch wirklich gezielt ansteuern könnte. ;-)
Hat jemand einen Ansatz für eine geschickte Lösung?
 
Zuletzt bearbeitet:

spaghetti

Mitglied
Grade beim Aufräumen meiner Bookmarks drauf gestoßen :oops:
Das stimmt nicht ganz, ich konnte das Problem am Ende lösen, in dem ich mir per getSupportedAttributeValues die Media-Objekte gezogen und per InstanceOf MediaTray dann die Tray-Objekte gefunden habe mit denen ich dann drucken konnte.

Nicht schön, aber selten - auf jeden Fall hat das Ganze am Ende funktioniert.
 

alderwaran

Mitglied
...auf jeden Fall hat das Ganze am Ende funktioniert.

wäre schön wenn du mir da weiterhelfen könntest :)

ich habe die aufgabe unter windows mit einem installierten druckertreiber (pcl, afp, hardware möglicherweise nicht angeschlossen) in eine datei zu drucken die dann z.b. per ftp an den dem treiber entsprechenden drucker gesendet wird.

kannst du den code zum herausfinden der verfügbaren druckertrays bitte posten? interressant wäre noch welchen drucker *unter windows* java eigentlich benutzt, ist das auswählbar, oder immer nur den standard-drucker?
und, falls du das aus-dem-ärmel-geschüttelt weißt, wie man dem druckertreiber sagt er soll in eine datei "mit diesem namen" drucken?
 

spaghetti

Mitglied
Moin,
die Drucker kannst du in Java recht einfach auslesen und auswählen. Auf meinen Code für die Trays kann ich grade nicht mehr zugreifen, hab aber über google was ähnliches gefunden:

Code:
  PrintService[] services = PrintServiceLookup.lookupPrintServices(null,aset);
    MediaSizeName mn=null;
    MediaSize mz=null;
    Destination dd=null;
    for (int i = 0; i < services.length; i++) {
        PrintService service = services[i];
        System.out.println(service);
        DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
        Class category = Media.class;
        Object o = service.getSupportedAttributeValues(category, flavor,null);
        if (o == null) { // Attribute is not supported
            } 
        else if (o.getClass().isArray()) {
            // Attribute values are a set of values
            Media[] media = (Media[]) o;
            for (int j = 0; j < media.length; j++) {
                //System.out.println("ATributo: " + media[j].getValue() );
                if(media[j] instanceof MediaSizeName) {
                mn=(MediaSizeName)media[j].clone();
                //mz=getMediaSizeForName(mn);
                mz=MediaSize.getMediaSizeForName(mn);

                //System.out.println((media[j].toString()));
                System.out.println("\t Bandeja: \t\t"+ mn + " ID: " + mn.getValue() );
                }
                }
            }
        }
    //System.exit(0);
    } catch(Exception e){
    System.out.println("Exception is " + e);
            }    
}
Quelle: java - Name of printer media trays - Stack Overflow

Beim letzten Teil kann ich dir nicht helfen, weil die Druckverteilung bei mir bisher immer nur ganz normal über den Windows spooler lief, könnte mir aber vorstellen, dass das ne schwierige Angelegenheit wird.
 
Zuletzt bearbeitet:

alderwaran

Mitglied
das problem besteht in dieser art nicht mehr, ich weiß jetzt wie man drucker findet und nutzt - soweit ok.

ein problem besteht noch bei der ansteuerung der trays *während* des drucks eines dokuments, genauer gesagt dem wechsel des trays beim drucken. also ich habe z.b. ein n-seitiges pdf (eigentlich viele n-m -seitige) und will die erste seite aus fach1 (papier mit firmenlogo) ziehen, seiten 2 - n-1 aus fach2 (normal a4/weis) und die letzte seite aus fach3 (überweisungsträger).

wenn ich das drucksystem richtig verstanden habe läuft das so:
  1. das os wird gefragt welche (installierten) drucker verfügbar sind
  2. ein drucker wird ausgewählt und konfiguriert (drucke aus fachX, auflösung y ...)
  3. das objekt mit druckdaten wird dem ausgewählten drucker übergeben
  4. dem drucker wird gesagt "druck jetzt!"

das problem ist daß das druckdatenobjekt nur daten enthält die aufs papier gebracht werden sollen und keine steuerinformationen um während des drucks das papierfach zu wechseln.

eine lösung ist das dokument in seiten aufzuteilen, diese als einzene druckjobs an den drucker zu senden und zwischendurch die konfiguration des druckers zu verändern. da ich jedoch druckdateieen (z.b. pcl oder afp) erzeugen will bedeutet dies das ich anstatt einer großen datei die viele pdfs enthält hunderte kleine dateien erhalte. is bissel blöd wenn ich die daten zum drucken und kuvertieren so an die druckstraße schicke :/
 

spaghetti

Mitglied
Ich kenne PCL nicht wirklich, aber da sonst noch keiner geantwortet hat:
Vielleicht gibt es ja eine Möglichkeit erst mehrere PCL Dateien zu erzeugen und die vor der Übertragung in eine große Datei zu "mergen".
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
I Rich Text drucken AWT, Swing, JavaFX & SWT 0
F JavaFX (Tree)TableView korrekt drucken AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
L Charset beim Drucken falsch AWT, Swing, JavaFX & SWT 2
Sugan JavaFX Bilder drucken AWT, Swing, JavaFX & SWT 0
O JTable linksbündig drucken (nicht der Zelleninhalt) AWT, Swing, JavaFX & SWT 2
M Swing PDF Datei nach drucken nicht löschbar AWT, Swing, JavaFX & SWT 6
F AWT Drucken verschluckt inhalt AWT, Swing, JavaFX & SWT 1
S JTable im Hoch- und Querformat angepasst drucken AWT, Swing, JavaFX & SWT 1
kaoZ JFrame Drucken AWT, Swing, JavaFX & SWT 8
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
Z Drucken AWT, Swing, JavaFX & SWT 2
A Swing Drucken eines JTextPanes AWT, Swing, JavaFX & SWT 7
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
C Swing Drucken von JPanel AWT, Swing, JavaFX & SWT 14
E Drucken von JPanel mit richtiger Skalierung AWT, Swing, JavaFX & SWT 5
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
S Probleme beim drucken AWT, Swing, JavaFX & SWT 13
M Swing JTable drucken/Darstellung AWT, Swing, JavaFX & SWT 2
D 2D-Grafik Problem beim Drucken eines Grafik-Objekts AWT, Swing, JavaFX & SWT 2
W AWT Drucken ohne Druckdialog AWT, Swing, JavaFX & SWT 2
O JTable mit Inhalt drucken AWT, Swing, JavaFX & SWT 3
C Swing Briefe/Dokumente zum Drucken erstellen AWT, Swing, JavaFX & SWT 20
D Drucken eines "Formulars" in abgeänderter Form AWT, Swing, JavaFX & SWT 5
P Jpanel mit Komponenten drucken AWT, Swing, JavaFX & SWT 3
T Drucken eines JFrame AWT, Swing, JavaFX & SWT 2
H AWT Oberer Seitenrand kann beim Drucken vom Anwender nicht verstellen werden. AWT, Swing, JavaFX & SWT 6
P Drucken von Jtextpane mit Seitenangabe AWT, Swing, JavaFX & SWT 1
A Probleme beim Drucken AWT, Swing, JavaFX & SWT 5
D Vorabberatung :) Briefe gestalten und drucken (als PDF) AWT, Swing, JavaFX & SWT 3
N Nur ein Element sichtbar beim Drucken eines JFrame AWT, Swing, JavaFX & SWT 9
A Probleme beim Drucken (Seite wird abgeschnitten) AWT, Swing, JavaFX & SWT 2
N JTable: Drucken mit größerer RowHeight AWT, Swing, JavaFX & SWT 2
N JPanel nicht ganz drucken AWT, Swing, JavaFX & SWT 2
A Probleme mit dem Drucken AWT, Swing, JavaFX & SWT 2
K Seite zum drucken einrichten AWT, Swing, JavaFX & SWT 2
F Drucken in Java AWT, Swing, JavaFX & SWT 3
A Problem mit der Seiteneinrichtung beim Drucken AWT, Swing, JavaFX & SWT 7
A Drucken einer JList AWT, Swing, JavaFX & SWT 4
C JTable drucken AWT, Swing, JavaFX & SWT 7
O Panel drucken AWT, Swing, JavaFX & SWT 2
Y Problem beim Drucken AWT, Swing, JavaFX & SWT 2
A Drucken AWT, Swing, JavaFX & SWT 23
H JTable drucken mit Header AWT, Swing, JavaFX & SWT 4
& XHTML drucken mit (oder ohne) Flying Saucer AWT, Swing, JavaFX & SWT 12
C Fenster rücken beim Drucken in den Hintergrund AWT, Swing, JavaFX & SWT 6
& mehrseitige HTML-Dokumente drucken AWT, Swing, JavaFX & SWT 2
ARadauer jtable drucken unter java 1.3 AWT, Swing, JavaFX & SWT 2
B Unsichtbares JPanel drucken. AWT, Swing, JavaFX & SWT 14
C Text drucken? AWT, Swing, JavaFX & SWT 2
V Drucken in Java AWT, Swing, JavaFX & SWT 2
K Drucken von JTextComponenten AWT, Swing, JavaFX & SWT 2
R Drucken unter jdk 1.4 mit JTable AWT, Swing, JavaFX & SWT 11
B Ein großes JTextPane komplett drucken AWT, Swing, JavaFX & SWT 2
I Drucken: Programm stürzt bei AWT, Swing, JavaFX & SWT 7
I Fensterinhalt drucken AWT, Swing, JavaFX & SWT 2
E Drucken von JComponent. AWT, Swing, JavaFX & SWT 4
F Transparent bzw. transfluent(durscheinend) drucken? AWT, Swing, JavaFX & SWT 2
P Idee zum drucken von JTextField und JTable AWT, Swing, JavaFX & SWT 2
O JTable, mehrere Spalten drucken AWT, Swing, JavaFX & SWT 4
orenishii mehrseitig Images anzeigen und drucken SimpleBook.java AWT, Swing, JavaFX & SWT 5
R JPanel drucken AWT, Swing, JavaFX & SWT 5
foobar JTable im Hintergrund drucken AWT, Swing, JavaFX & SWT 2
S Drucken - Bild skalieren AWT, Swing, JavaFX & SWT 2
S JAI und das praktische Drucken AWT, Swing, JavaFX & SWT 4
S Drucken AWT, Swing, JavaFX & SWT 15
S JTable - Drucken AWT, Swing, JavaFX & SWT 10
G HTML aus JEditorPane drucken AWT, Swing, JavaFX & SWT 2
G JPanel drucken AWT, Swing, JavaFX & SWT 2
B componente drucken AWT, Swing, JavaFX & SWT 3
M Ein Bild aus einem Panel drucken? AWT, Swing, JavaFX & SWT 11
G Frage zum Drucken AWT, Swing, JavaFX & SWT 2
V Problem beim drucken AWT, Swing, JavaFX & SWT 4
L swing komponenten Drucken AWT, Swing, JavaFX & SWT 7
G JTextPane drucken AWT, Swing, JavaFX & SWT 2
S Drucken eines Panels AWT, Swing, JavaFX & SWT 3
T JEditorPane-content drucken AWT, Swing, JavaFX & SWT 2
T Drucken des Inhaltes einer JTextArea AWT, Swing, JavaFX & SWT 4
J JTextArea drucken AWT, Swing, JavaFX & SWT 4
@ Erzeugen einer Maske zum drucken AWT, Swing, JavaFX & SWT 2
G Drucken?? AWT, Swing, JavaFX & SWT 4
H JTable drucken AWT, Swing, JavaFX & SWT 4
K JPanel drucken AWT, Swing, JavaFX & SWT 4
P JTable drucken AWT, Swing, JavaFX & SWT 2
B JPanel Drucken AWT, Swing, JavaFX & SWT 1
H grafiken aus bestimmtem ordner anzeigen AWT, Swing, JavaFX & SWT 8
C Image in bestimmtem Bereich anzeigen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben