# Druckereigenschaften ändern?



## Verjigorm (10. Mrz 2009)

Hallo,

wenn ich mir mit Java den Druckdialog "ServiceUI.printDialog(...)" anzeigen lasse, kann ich keinerlei Eigenschaften des Druckers verändern, so wie Hoch/Querformat, Größe, doppelseitig etc.

Die meisten Eigenschaften sind disabled.
Wie kann ich das ändern oder programmgesteuert vorkonfigurieren?

mfg Verjigorm


----------



## Verjigorm (11. Mrz 2009)

*up*


----------



## thE_29 (11. Mrz 2009)

Das ist selten dumm zu ändern!

Es geht mit dieser Klasse hier: HashPrintRequestAttributeSet
Leider habe ich damals keine Doku dazu gefunden!

Zb mache ich das so

```
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
      if(this.landscape)
        pras.add(OrientationRequested.LANDSCAPE);
      else
        pras.add(OrientationRequested.PORTRAIT);
```
Da gibts halt noch PageRanges, etc... Ist alles nicht gerade super aufgebaut.


----------



## Verjigorm (11. Mrz 2009)

Jo, da habe ich Copies oder MediaTray gefunden, aber z.B. kein Einzel/Doppelseitig oder Hoch/Querformat...

Gibts keine Möglichkeit die Funktionen (Buttons/Comboboxen) zu aktivieren?


----------



## thE_29 (11. Mrz 2009)

LANDSCAPE/PORTRAIT = Hoch/Querformat


----------



## JYPDWhite (11. Mrz 2009)

Habt ihr schonmal das ausprobiert ?
[HIGHLIGHT="Java"]			Toolkit tk = Toolkit.getDefaultToolkit();
			PrintJob pj = tk.getPrintJob(new JFrame(), null, null);
			if (pj != null) {
				Graphics g = pj.getGraphics();
				// einfach das aktuelle fenster drucken
				fenster.printAll(g);
				g.dispose();
				pj.end();
}[/HIGHLIGHT]


----------



## Verjigorm (12. Mrz 2009)

thE_29 hat gesagt.:


> LANDSCAPE/PORTRAIT = Hoch/Querformat



Jaja, das hatte ich schon, war in Eile und hatte es hingekritzelt, obwohl ich das schon wusste.
Anfall von geistiger Umnachtung 

Hab mal bissl rumgegoogelt:
Im Endeffekt ist alles im Paket 


> javax.print.attribute.standard


Hier mal die vermutlich wichtigsten Druckeinstellungen für das PrintRequestAttributeSet

```
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(OrientationRequested.LANDSCAPE);
...
pras.add("siehe Unten"); *zwinker*
```


```
//Farbwahl
Chromaticity.COLOR
Chromaticity.MONOCHROME

//Hoch/Querformat
OrientationRequested.LANDSCAPE
OrientationRequested.REVERSE_LANDSCAPE
OrientationRequested.PORTRAIT
OrientationRequested.REVERSE_PORTRAIT

//Papiergrößen
MediaSizeName.ISO_A4
MediaSizeName.XXX (ganz viele)

//?
Finishings.STAPLE
Finishings.XXX (noch einige)

//Sortierungen
SheetCollate.COLLATED // Collate multiple copies
SheetCollate.UNCOLLATED

//Ein/Mehrseitig etc.
Sides.ONE_SIDED
Sides.DUPLEX
Sides.XXX (noch einige)

//Mehrere Seiten zusammenfassen
new NumberUp(int x) // x pages to a sheet

//Anzahl Kopien
new Copies(x)

//Ausgabeschächte
MediaTray.BOTTOM //Ausgabeschacht unten
MediaTray.XXX (noch einige)

//Jobname
new JobName("Job Card No.", null)
```


----------



## thE_29 (12. Mrz 2009)

Und funktioniert das jetzt bei dir so wie du es wolltest?


----------



## Verjigorm (12. Mrz 2009)

Ja, wobei es immer mal wieder Probleme mit einigen PDF's gibt.
Die sich einfach nicht drucken lassen wollen.

Der Drucker-Hersteller meint zudem, seine Drucker könnten nativ PDF drucken, aber über Java wird angezeigt, dass das nicht der Fall ist, wieso auch immer.
Wenn ich über DocFlavor.INPUT_STREAM.PDF mir alle Drucker ausgeben lasse, dann erscheint nur unser PDF-Converter, nicht aber die normalen Drucker, die laut Aussage PDF nativ drucken können sollten.

Weiss nicht ob das an Java, den Druckern oder sonstigen Einstellungen zusammenhängt


----------



## Verjigorm (13. Mrz 2009)

Ok, es funktioniert doch nicht so wie gewollt.

Ich wähle z.B. den Schwarz-Weiss-Drucker aus, das Dokument wird aber in Farbe gedruckt.
Ich setze sowohl DocAttributeSet als auch PrintRequestAttributeSe auf Chromaticity.MONOCHROME, trotzdem wird farbig gedruckt, sowie immer zweiseitig gedruckt wird.

Sehr nervig das Ganze

PS: es bezieht sich AUSSCHLIESSLICH auf PDF's... jpeg,gif,png,txt,doc, alles geht


----------



## thE_29 (13. Mrz 2009)

Jo, PDF und Drucker ist ein Zustand!
Probier es mal in ein PS zu konvertieren und dann es zu drucken!


----------



## Verjigorm (13. Mrz 2009)

thE_29 hat gesagt.:


> Jo, PDF und Drucker ist ein Zustand!
> Probier es mal in ein PS zu konvertieren und dann es zu drucken!



Das sagst du so einfach!
Wenn ich mir das so anschaue, wirds mir schon schlecht:
http://livedocs.adobe.com/livecycle...context=sdkHelp&file=convertPDFToPS.63.3.html


----------



## thE_29 (13. Mrz 2009)

In Linux gibts meist pdf2ps ansonsten unter Windows ghostview/ghostgum! Mit dem kann man es konvertieren!


----------



## Verjigorm (13. Mrz 2009)

Dann kann ichs auch von Hand ausdrucken *kopfschüttel*


----------



## thE_29 (13. Mrz 2009)

Ne, nur um es mal zu testen


----------



## Verjigorm (16. Mrz 2009)

http://www.java-forum.org/allgemein...e-document-format-drucken-invalid-flavor.html


----------



## thE_29 (16. Mrz 2009)

PS können viele Drucker drucken!
PDF hingegen nicht ^^

Hat Tuxedo eher verdreht. In der Firma kriege ich bei allen Laserdruckern PS raus, aber keine PDF!

Apache PDFBox - Java PDF Library das kann es drucken! Aber das baut das PDF zurück zu einem Bild..

Ist aber zZ auf "inaktiv" gesetzt. Müsstest mit SVN rausholen.


----------



## Verjigorm (16. Mrz 2009)

Jo, bereits gesehen.
Das knöpfe ich mir als nächstes vor.
Momentan gehe ich erstmal den Umweg über den Acrobat Reader

Danke für die Hilfe soweit

PS: *closed*


----------

