Zum Inhalt springen

Seitenformat Din A3 und A4


Empfohlene Beiträge

Geschrieben

Moinsen,

hat jemand eine Ahnung, wie ich in Java vor dem Drucken das Seitenformat einstellen kann? Z.B. wie in Word, wenn man da auf Seiteneinstellungen geht und dann auf A3 umschaltet und so...

Es wär cool, wenn man in dem Fenster, das vom Programm generiert wird, einen Menüpunkt für Drucken Din A4 und einen Drucken Din A3 hätte...

Danke im voraus!

Gruß aus dem kühlen Hannover,

Silvie

Geschrieben

Du müsstest auf das PrinterJob-Object einen PageDialog aufrufen. Dann bekommst du ein PageFormat zurück welches du dann dem PrinterJob übergeben kannst.


PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pageformat = new PageFormat();

pageformat = printJob.pageDialog(pageformat); // Hier kommt der PageDialog

printJob.setPrintable(this /*(da Printable implementiert werden muss)*/, pageformat);

if (printJob.printDialog()){ // Dann ein Dialog in dem du deinen Drucker auswählen kannst
try {
printJob.print(); // Drucken
}
catch(PrinterException pe) {
sErr = "Error printing: " + pe;
}
}

[/PHP]

Und da bekommst du einen kleinen Dialog angezeigt in dem du dein PageFormat auswählen kannst (nur die die dein Drucker unterstützt)!

Peet

Geschrieben

Vielen Dank, das funktioniert schonmal.

Mein Problem ist aber, dass ich das gerne ohne den pageDialog realisieren würde.

So dass man, wenn man den Din A3 Druck auswählt automatisch auch Din A3 ausdruckt...

Wär der Hammer, wenn man das irgendwie hinkriegen könnte... und vor allem bequemer für die User... ;)

Gruß Silvie

Geschrieben

*grins*

Immer diese Userfreundlichkeit!*seufz*

Ja, dann müsstest du dein "Paper" selbst zusammen bauen und dann übergeben.


Paper paper = new Paper();
paper.setSize(595.28, 841.90);
paper.setImageableArea(85.04, 28.35, 481.90, 785.20);

pageformat = new PageFormat();
pageformat.setPaper(paper);

usw.
[/PHP]

Ich weiß jetzt aber nicht die Maße!

Den pageDialog kannst du dann wieder raus nehmen (wahrscheinlich genauso wie den printDialog).

Geschrieben

Vielen Dank, das hat auch funktioniert...

Aber... ich muss meine Frage leider stornieren.... :(

Der, für den wir das programmieren, will keine zwei Menüpunkte... :P

Es soll der printDialog kommen und dann soll automatisch, wenn man bei den properties auf A3 geht, auf A3 gedruckt werden. Das geht bis jetzt nicht, auch nicht in Word... weißt Du, ob man den printDialog irgendwie ansprechen kann?

Oder ist das vielleicht gar nicht möglich? :confused:

Gruß Silvie

Geschrieben

Hab ich das jetzt richtig verstanden - du willst, sobald man in dieser ComboBox die SeitenArt/PapierGröße ausgewählt hat, gleich drucken?? Das geht mit dem vorhandenen Dialog nicht. Du könntest dir aber nen eigenen Dialog schreiben!:P

Der müsste dann genauso aussehen wie der originale, jedoch müsste auf der ComboBox eine zusätzliche Action liegen.

Würde ich net machen. Zu viel Aufwand für so wenig Ergebnis. Ob der User den Button "OK" nicht drücken muss oder ob er ihn noch drücken muss ist doch wohl nun egal. Und stell dir mal vor, jemand hat sich verklickt und druckt sofort anstatt auf A3 auf A5 (würde ja passieren, wenn man das falsche Item in der ComboBox auswählt)!

Also lieber keine extra-Funktionalität. Nur als Tipp.

Peet

Geschrieben

Sorry, ich hab mich falsch ausgedrückt...

ich würd gern die Werte aus der printDialog Box auslesen können.

Dann kann man wenn man bei den Eigenschaften auf A3 Druck geht, auch auf A3 drucken (wir würden dann dafür eine Anweisung im Code schreiben, die zur Bedingung hat, auf welches Format der User geht...

Silvie

Geschrieben

Also das erste mal soll der Dialog erscheinen und dieser soll sich dann die Einstellungen merken und das nächste mal gleich verwenden.

Also das PageFormat wird ja eh gespeichert.Damit kann man doch gleich drucken.

Ist nur eine Frage der geschickten Programmierung. Das klappt. Musst du nur entsprechende Abfragen machen. Flags (boolean) eignen sich dazu vortrefflich.

Peet

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...