Ich versuche, das PageFormat beim Drucken korrekt zu machen. Unten ist ein Beispielprogramm, das mein Dilemma zeigt: Ich erhalte ein anderes Ergebnis, wenn ich printJob.setPrintable(printable)
verwende, als wenn ich printJob.setPageable(book)
verwende, wenn ich ein Book
-Objekt mit dem Standard-PageFormat aus dem Druckauftrag erstelle.
Wenn ich es ausführe und auf "Drucken" und dann "Mit Buch drucken" klicke, sehe ich diese Konsolenausgabe:
%Vor% Was gibt? Das Standard-Seitenformat bei Verwendung von Book
saugt und verwendet 1 "Rand auf jeder Seite der Seite; das" echte "Seitenformat benötigt nur 1/6" Rand auf jeder Seite.
Beispielprogramm hier:
%Vor% Hmm. Nach einigen vergeblichen Versuchen scheint es so zu sein, als setze ich eine Seite auf Null und rufe dann PrinterJob.validatePage()
scheint die einzige Möglichkeit zu sein, ein gültiges minimum-margin PageFormat zu erhalten:
und dann kann ich doPrint()
ändern zu: