Java-Druck: Erstellen eines PageFormats mit minimalem akzeptablem Rand

8

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%     
Jason S 04.05.2012, 19:52
quelle

1 Antwort

17

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:

%Vor%

und dann kann ich doPrint() ändern zu:

%Vor%     
Jason S 07.05.2012, 15:26
quelle

Tags und Links