Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Seitenformat Din A3 und A4

Empfohlene Antworten

Veröffentlicht

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

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

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

*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).

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

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.