Ecco un tips veloce veloce su come usare la stampante in java. La prima cosa da fare è creare una classe che implementi Printable e sovraccarichi il metodo print che serve appunto per stampare. L'interfaccia Printable, le eccezioni e tutte le classi necessarie le troviamo in java.awt.print.*;
Vediamo una classe che stampa una scritta e quelche riga:
Stampa.java
---------------
import java.awt.print.*;
import java.awt.*;
public class Stampa implements Printable {
public static void main(String ag[]) throws Exception
{
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName("Tip's & Trick come stampare in java");
pj.printDialog();
pj.setPrintable(this);
pj.print();
}
public int print(Graphics grap,
PageFormat pageFormat, int pageIndex) throws PrinterException
{
if(pageIndex > 0)
return NO_SUCH_PAGE;
grap.setColor(Color.RED);
grap.drawString("Ciao, sono stato stampato in java", (int)pageFormat.getImageableX(),
(int)pageFormat.getImageableY()+5);
grap.setColor(Color.GREEN);
grap.drawLine((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(),
(int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
return PAGE_EXISTS;
}
}
---------------
Il tips è stato testato con una lexmark z32 e col programma PDE995 che stampa su un pdf il risultato di una stampa, il tutto funziona correttamente; praticamente questo codice apre la votra finestra di dialogo di stampa che siete abituati a vedere, il risultato del programma sono la scritta in rosso "Ciao, sono stato stampato con java" e poi una linea diagonale che va dall'angolo sinistro in alto a quello destro in basso verde. Per approfondire rimando alla documentazione java.
grazie per il codice di esempio, però per funzionare ha bisogno di una piccola modifica:
nel main, l'argomento del metodo "pj.setPrintable(this);"
va modificato in "pj.setPrintable(new Stampa());"
ciao!
Aggiungi un commento