Hope this helps.
import java.awt.*;
import java.awt.print.*;
import java.util.Locale;
import javax.print.attribute.standard.*;
import javax.print.*;
import javax.print.attribute.*;
import java.io.*;
public class SimplePrint implements Printable {
private
String stringToPrint;
public SimplePrint() {
this("This is the Default String. Go Blues!!!");
}
public SimplePrint(String stringToPrint) {
this.stringToPrint = stringToPrint;
}
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
if (pageIndex >= 1) {
return Printable.NO_SUCH_PAGE;
}
g.setFont(new Font("Helvetica", Font.PLAIN, 24));
g.setColor(Color.green);
g.drawString(stringToPrint, 100, 100);
return Printable.PAGE_EXISTS;
}
public static void main(String[] args) {
// Look up all services
// Look up the default print service
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
PrintService designatedService = null;
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
// Find a particular service by name;
// in this case "HP LaserJet 6MP PS"
AttributeSet aset = new HashAttributeSet();
//aset.add(new PrinterName("\\\\GPNT43\\INET_1", null));
String DESINATED_PRINTER = "\\\\GPNT43\\INET_1";
// Find all services that support a set of print job capabilities;
// in this case, color
aset = new HashAttributeSet();
aset.add(ColorSupported.SUPPORTED);
for (int i = 0 ; i < printServices.length; i++)
{
System.out.println(" service found " + printServices[i].getName());
if (printServices[i].getName().equalsIgnoreCase(DESINATED_PRINTER))
{
System.out.println("I want this one: " + printServices[i].getName());
designatedService = printServices[i];
break;
}
}
// Get a PrintJob
PrinterJob pj = PrinterJob.getPrinterJob();
try {
pj.setPrintService(designatedService) ;
}
catch(PrinterException e)
{}
Printable painter;
// Specify the painter
if (args.length == 0) {
painter = new SimplePrint();
} else {
painter = new SimplePrint(args[0]);
}
pj.setPrintable(painter);
// Show the print dialog
if (pj.printDialog()) {
try {
pj.print();
} catch (PrinterException pe) {
System.out.println("Exception while printing.\n");
pe.printStackTrace();
}
}
new PrintPreview(painter, "Print Preview - SimplePrint");
}
}