java.awt.print
HejEr ved at lave så man kan printe labels fra mit system, men jeg kan ikke få printet til at afspejle de dimensioner jeg opsætter for papir.
Har kigget i følgende tråd - som desværre blev lukket uden løsning :-(
http://www.eksperten.dk/spm/210594
Jeg synes efterhånden jeg har prøvet alt, men der er et eller andet som tilføjer en margin - da det ikke lykkedes mig at printe til kanten på min label.
Opsætning:
private static final double mmToSubInch = 72 / 25.4;
public static void main(String[] args) {
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = new Paper();
final double widthPaper = 62*mmToSubInch;
final double heightPaper = 66*mmToSubInch;
paper.setSize(widthPaper, heightPaper);
paper.setImageableArea(0, 0, widthPaper, heightPaper);
pageFormat.setPaper(paper);
pageFormat.setOrientation(PageFormat.LANDSCAPE);
...
Min label implementation:
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
int i = 0;
Line2D.Double line = new Line2D.Double();
if (pageIndex < 1) {
Graphics2D g = (Graphics2D) graphics;
g.setClip(0, 0, (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
g.setColor(Color.black);
g.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
line.setLine(0, 0, (pageFormat.getImageableX()),0);
g.draw(line);
line.setLine(0, 0, 0,pageFormat.getImageableWidth());
g.draw(line);
Håber der er en som kan kaste lys over hvad jeg gør forkert.
På forhånd tak.
/Søren
