Toon posts:

[JAVA]marges instellen in pageDialog

Pagina: 1
Acties:

Verwijderd

Topicstarter
Oke de vorige keer is deze topic gelocked, al zijn de redenen hiervoor me niet helemaal duidelijk, misshien ben ik iets te kort van stuk geweest.

Het probleem, ik wil de marges instellen in de java pageDialog die je oproept met
code:
1
2
3
4
5
6
PrinterJob job = PrinterJob.getPrinterJob();
// Create a portrait page format
PageFormat pf1 = job.defaultPage();
pf1.setOrientation(PageFormat.LANDSCAPE);
//show the page setup dialog
pf1 = job.pageDialog(pf1);


In de PageFormat class kun je geen marges instellen, wel een Paper object zetten waarvan je de ImageableArea in kunt stellen, maar dan moet je aan de hand van de sizes de marges uitrekenen, als dit zo al mogelijk is. Ik wil gewoon altijd, dus onafhankelijk van papier grootte (a4,a3,etc) en printer, de marges op een kwart inch hebben staan.

Mijn vragen :

Is dit mogelijk, zo ja hoe?

Ik heb gegoogled en alle relevante documentatie doorgelezen, maar nog steeds geen goede oplossing gevonden

Verwijderd

Verwijderd schreef op 13 March 2003 @ 18:25:
Oke de vorige keer is deze topic gelocked, al zijn de redenen hiervoor me niet helemaal duidelijk, misshien ben ik iets te kort van stuk geweest.
offtopic:
Is dat niet "dit topic" ?


Ik denk eerlijk gezegd niet dat het kan want je moet sowieso instellen of het A3 of A4 is want dat verschilt sowieso al. Verder moet je printer dat toch gewoon ook ingesteld hebben? Wellicht kijken bij printers in configuratiescherm en het daar goed laten instellen?

Verwijderd

Topicstarter
Maar als je bijv. kijkt bij word dan kun je page setup kiezen en het daar instellen, dit houdt word vast, zelfs na opnieuw opstarten van word. Bij de configuratie scherm van de printer is dit niet in te stellen (HP a3 laserprinter). en je hebt gelijk het is dit topic.

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Wat dacht je van http://java.sun.com/j2se/...java/awt/print/Paper.html
Die Paper kun je krijgen van je PageFormat. Paper heeft een methode setImageableArea, waarmee je marges kunt instellen (of eigenlijk, het printbare gedeelte van de pagina kunt in stellen). Had je ook wel zelf kunnen vinden denk ik zo...

Verwijderd

Topicstarter
SWfreak schreef op 13 maart 2003 @ 20:10:
Wat dacht je van http://java.sun.com/j2se/...java/awt/print/Paper.html
Die Paper kun je krijgen van je PageFormat. Paper heeft een methode setImageableArea, waarmee je marges kunt instellen (of eigenlijk, het printbare gedeelte van de pagina kunt in stellen). Had je ook wel zelf kunnen vinden denk ik zo...
Als je mijn topic beter had gelezen had je kunnen lezen dat dit nogal een gedoe is aangezien er nogal wat verschillende papierformaten zijn, en dat er per printer waarschijnlijk wel verschillende soorten papierformaten zijn.

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Had dat gemist, maar het lijkt er op dat dat toch de enige mogelijkheid is. Als je de javax.print package bekijkt, zie dat er een klasse MediaSize is die van een hele berg papierformaten de exacte measurements heeft. Als de gebruiker een bepaald papierformaat selecteert, zal dit vast wel een van deze formaten zijn. Dan is het nog een kwestie van rekenen....

[ Voor 3% gewijzigd door SWfreak op 13-03-2003 20:31 . Reden: typos ]


Verwijderd

Topicstarter
He bedankt, ik was al bang dat ik alle papiersoorten met sizes moest gaan implementeren. Nou ben ik toch benieuwd hoe ze dit in word etc hebben opgelost. Misschien is java toch niet zo geschikt voor het printen, dit heeft me namelijk al een hele hoop tijd gekost.
Pagina: 1