Avatar billede ng-km Nybegynder
29. december 2010 - 10:27 Der er 5 kommentarer og
1 løsning

Direkte til printer

Er det muligt at skrive direkte til en printer fra Java, jeg har lavet flere applikationer der åbner en printerdialog når jeg vil udskrive, men nu har jeg brug for at kunne sende udskriften direkte til printeren så det går hurtigere. Indtil videre er det kun på Windows-maskiner jeg har behovet.

Tillægsspørgsmål:
Kan man ikke søge i kategorierne længere? Jeg har forsøgt at søge efter printer-spørgsmål i Java-kategorien, men der bliver returneret spørgsmål/svar fra alle kategorier.
Avatar billede arne_v Ekspert
29. december 2010 - 21:00 #1
Avatar billede arne_v Ekspert
29. december 2010 - 21:03 #2
re print og java)

Bruger du java.awt.print eller javax.print?
Avatar billede arne_v Ekspert
29. december 2010 - 21:05 #3
Og kan du vise lidt kode.

Som jeg husker det bestemmer man selv om der skal være en dialog eller ej.
Avatar billede ng-km Nybegynder
30. december 2010 - 15:52 #4
arne_v
Du har fuldstændig ret... Jeg kiggede ikke dybt nok i min kode. Herunder er den i grove træk. Bemærkning sat ved den if() der skulle fjernes. Er det iøvrigt bedre at bruge javax.print. Har altid brugt awt.print.

Læg et svar. Tak for hjælpen.

import java.awt.print.*;

......

public class Udskrivnoget implements Printable, ImageObserver
.....


public void udskriv()
{
  paper = new Paper();
  PageFormat pf = new PageFormat();

  paper.setSize(596, 842);
  paper.setImageableArea(10,2,585,795);
  pf.setPaper(paper);
  pf.setOrientation(PageFormat.PORTRAIT);

  PrinterJob printerJob = PrinterJob.getPrinterJob();
  printerJob.setPrintable(this, pf);
   
  if (printerJob.printDialog()) //jeg fjernede denne if
  {
    try
    {
      printerJob.print(); 
      printerJob.cancel();
    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
  }
}


public int print(Graphics g, PageFormat pf, int pi) throws PrinterException
{
  piTaeller++;//sidetæller

  .......//metoder der opstiller udskriften på g
       
  if (pi >= antalSider)
    return Printable.NO_SUCH_PAGE;

  return Printable.PAGE_EXISTS;
}
Avatar billede arne_v Ekspert
30. december 2010 - 15:58 #5
Den ene print er så vidt jeg ved til at printe det der vises på skærmen mens det andet er til at printe rå data med.
Avatar billede arne_v Ekspert
30. december 2010 - 15:59 #6
og et svar
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