Ganz so einfach schein das Drucken in Java nicht wirklich zu sein.
Man kann sich eine ganze Menge Attribute der Drucker anzeigen lassen aber wie mir scheint nur wenige verändern.
Ich drucke momentan mit folgender Funktion, womit ich ein Dokument erstelle:
Die Grafik unter der Klasse: "SeiteDrucken" mit der Methode: "print(...)", dich ich mit Graphics2D erzeuge wird richtig gut ausgedruckt.
Leider kann ich über den obigen Code keine Druckoptionen einstellen, wie z.B. wenn 2 Kopien gedruckt werden sollen. Um das zu verändern habe ich eine andere Routine gefunden, die direkt in der Methode: "print(...)" in der Klasse "SeiteDrucken" aufgerufen wird:
- Leider kann ich hierüber nicht den Druckrand einstellen. Da ich aber Bilder drucken möchte und mein Drucker den randlosen Druck unterstützt, sind mir die 25,4 mm einfach zu viel - selbst für Dokumente ist das ein zu breiter Rand.
- Des Weiteren erscheint der Name: "Java Printing" in der Druckliste, anstelle von "Test" oder ein anderer benutzerdefinierter Name.
Das sind die 2 kleinen Problemchen, die mir momentan den Kopf zerbrechen.
Drucken in Java ist noch Neuland für mich, wäre schön, wenn ihr mir bei meinen Problemen helfen könntet.
Danke schonmal im voraus!
Man kann sich eine ganze Menge Attribute der Drucker anzeigen lassen aber wie mir scheint nur wenige verändern.
Ich drucke momentan mit folgender Funktion, womit ich ein Dokument erstelle:
Code:
DocFlavor dflDokument = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
PrintRequestAttributeSet praDruckAttribute = new HashPrintRequestAttributeSet();
praDruckAttribute.add(MediaSizeName.ISO_A4);
DocPrintJob dpjDrucken = ptsDruckDienst.createPrintJob();
Doc docDokument = new SimpleDoc(new SeiteDrucken(), dflDokument, null);
dpjDrucken.print(docDokument, praDruckAttribute);
Leider kann ich über den obigen Code keine Druckoptionen einstellen, wie z.B. wenn 2 Kopien gedruckt werden sollen. Um das zu verändern habe ich eine andere Routine gefunden, die direkt in der Methode: "print(...)" in der Klasse "SeiteDrucken" aufgerufen wird:
Code:
PrinterJob prjDrucken = PrinterJob.getPrinterJob();
prjDrucken.setJobName("Test");
prjDrucken.setCopies(2);
prjDrucken.setPrintable(this);
PageFormat.setPaper();
if(prjDrucken.printDialog())
{
try
{
prjDrucken.print();
}
catch(PrinterException ex)
{
}
}
- Des Weiteren erscheint der Name: "Java Printing" in der Druckliste, anstelle von "Test" oder ein anderer benutzerdefinierter Name.
Das sind die 2 kleinen Problemchen, die mir momentan den Kopf zerbrechen.

Drucken in Java ist noch Neuland für mich, wäre schön, wenn ihr mir bei meinen Problemen helfen könntet.
Danke schonmal im voraus!