Avatar billede schristensen Praktikant
25. juni 2011 - 23:03

java.awt.print

Hej

Er 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
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester