19. juni 2005 - 19:01Der er
9 kommentarer og 1 løsning
Ændre printermargin
Hey, jeg er ved at lave et program der bla. skal udskrive på printer, jeg kan ikke finde ud af hvordan jeg fra min kode kan ændre printermargin. Jeg kan ikke få dimentionerne i setImageableArea til at gå under printerens egne marginer.
Så jeg har brug for at ændre printerens egen margin på en eller anden måde.
---- Kode start ------------- package manager;
import java.awt.*; import java.awt.print.*;
class Printer { public Printer() { final PrinterJob job = PrinterJob.getPrinterJob(); Book bog = new Book();
bog.append(new Printable() { public int print(Graphics g, PageFormat side, int index) { Paper papir = new Paper();
double x = side.getImageableX(); double y = side.getImageableY(); double w = side.getImageableWidth(); double h = side.getImageableHeight();
papir.setImageableArea(x, // venstre margin y, // top margin w, // bredde h); // højde
side.setOrientation(PageFormat.PORTRAIT); // sideformat side.setPaper(papir); // anvend papir på siden
Det kan ikke lade sig gøre at overskride printerens margin, printeren skal bruge x antal millimeter for at holde på papiret mens det kører igennem, så der er ca. 5-7 millimeter hele vejen rundt som du ikke kan skrive på.
mikkelbm: Du havde ret, jeg var for hurtig til at lukke den her. Det var setClip() der gjorde det muligt at overskride margin fra de standard 72px helt ned til 5px.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.