Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Stampa in java
Forum - Java - Stampa in java

Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 12:14
Lunedì, 13/04/2009
Ciao a tutti!!
Sto realizzando un piccolo programma per stampare delle buste in serie, però mi sono accorto che se voglio stampare molte pagine in serie devo ogni volta visualizzare la finestra di stampa. Non c'è qualche soluzione per evitare di visualizzare ogni volta la finestra di stampa??
Ecco un esempio del mio problema:


Codice sorgente - presumibilmente Java

  1. // questa è la classe che implementa la stampa:
  2. import java.awt.Graphics;
  3. import java.awt.print.PageFormat;
  4. import java.awt.print.Printable;
  5. import java.awt.print.PrinterException;
  6. import java.awt.print.PrinterJob;
  7. import java.util.logging.Level;
  8. import java.util.logging.Logger;
  9.  
  10. /**
  11.  *
  12.  * @author edoardo
  13.  */
  14. public class Print implements Printable{
  15.  
  16.     private String pi;
  17.  
  18.     public Print(String printer) {
  19.         this.pi = printer;
  20.         PrinterJob pj = PrinterJob.getPrinterJob();
  21.         pj.setJobName("Tasx print");
  22.         pj.printDialog();
  23.         pj.setPrintable(this);
  24.  
  25.         try {
  26.             pj.print();
  27.         } catch (PrinterException ex) {
  28.             Logger.getLogger(Print.class.getName()).log(Level.SEVERE, null, ex);
  29.         }
  30.     }
  31.     public int print(Graphics g, PageFormat p, int pageIndex) throws PrinterException {
  32.         if (pageIndex > 2) return this.NO_SUCH_PAGE;
  33.         g.drawString(pi, (int)p.getImageableX(), (int)p.getImageableY()+20);
  34.         return this.PAGE_EXISTS;
  35.     }
  36.  
  37. }
  38.  
  39. // questa è la classe esempio che esegue la stampa in serie:
  40.  
  41. public class stampa {
  42.    
  43.     public static void main(String args[]) {
  44.         for(int i=0; i<200;i++){
  45.             new Print("prova"+i);
  46.         }
  47.     }
  48.  
  49. }



Come vedete in questo programma bisognerebbe confermare 200 volte la stampa.
C'è qualke soluzione??

Ciao!! Ringrazio in anticipo!!

ps: spero di essermi spiegato bene  :k::k::k::k::k:

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 17:13
Lunedì, 13/04/2009
Fortunatamente ho risolto qui:

http://www.mokabyte.it/2001/04/javaprint.htm

Ciao!! Grazie comunque!! :k::k::k::k::k:

PM Quote