Probleme mit Druckereigenschaften

Status
Nicht offen für weitere Antworten.

Tux

Aktives Mitglied
Hallo!

Versuche mit Java mehrseitig zu drucken, was auch gut funktioniert (nach langem Forschen :roll: ) Mein Problem besteht darin, dass mein Programm anscheinend die Einstellungen, die man im Druckdialog einstellen kann nicht übernimmt.

Code:
public void drucken(){
		try {
			PrinterJob job = PrinterJob.getPrinterJob();
			job.setPageable(makeBook());
			if(job.printDialog(attributes)){
				job.print(attributes);
			}
		} catch (PrinterException e) {
			JOptionPane.showMessageDialog(null,
					"Druck fehlgeschlagen",
					"Druckfehler",
					JOptionPane.ERROR_MESSAGE);
		}
	}

private Book makeBook() {		
		  if (pageFormat == null)
	      {
	         PrinterJob job = PrinterJob.getPrinterJob();
	         pageFormat = job.defaultPage();
	      }
	      Book book = new Book();
	      int pageCount = MeineDruckbareKlasse.getPageCount(pageFormat);
	      book.append(MeineDruckbareKlasse, pageFormat, pageCount);
	      return book;
	}

Wenn ich jetzt z.B. von Hochformat auf Querformat umstelle, druckt das Programm trotzdem im Hochformat. Zudem scheint mein Dialog auch die genaue Seitenanzahl nicht zu kennen. Da er bei Seiten immer nur Seite 1 von 1 anzeigt. Jemand ne Idee woran das liegen kann? Thx Schonmal. Was ich noch vergessen hab: Ich benutze Linux alsBetriebssystem. Hoffe jedoch, dass das keinen Unterschied mehr macht...

Gruss
Stefan
 
Hallo!

Kennt sich niemand damit aus oder hat jemand vielleicht einen Hinweis?


Danke

Gruß
Tux
 
Wenn ich raten müsste, würde ich sagen es liegt hieran:
Code:
            PrinterJob job = PrinterJob.getPrinterJob();
            pageFormat = job.defaultPage();
Da machst Du ja einen zweiten PrinterJob auf. Und der hat die Standard Einstellungen. Übergib' doch den PrinterJob einfach als Parameter an makeBook().
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben