import java.awt.Graphics;
import java.awt.PageAttributes;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.Attribute;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.MediaSize;
import javax.print.attribute.standard.MediaSizeName;
public class PrintImage {
static public void main(
String args[]) throws Exception {
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet() ;
pras.add(new Copies(1));
PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF, pras);
if (pss.length == 0)
throw new RuntimeException("No printer services available.");
PrintService ps = pss[0];
System.out.println("Printing to " + ps);
DocPrintJob job = ps.createPrintJob();
String s = "<STX>L<CR>"; // Print content of buffer, 1 label
// String s="oooooooo";
// Print content of buffer, 1 label
// String s="oooooooo";
byte[] by = s.getBytes();
Doc doc = new SimpleDoc(by, DocFlavor.BYTE_ARRAY.AUTOSENSE, null);
job.print(doc, pras);
/*String code="130000002000000BAR CODE N : UPC5<CR>";
BufferedImage img=new BufferedImage(100,100,BufferedImage.TYPE_INT_RGB);
Graphics g=img.getGraphics();
// g.setColor(Color.BLACK);
g.drawString(code,15,15);
ByteArrayOutputStream outstream=new ByteArrayOutputStream();
//ImageIO.write( img, "jpg", outstream);
byte[] buf=outstream.toByteArray();
String value=new String(buf);
System.out.println("Found printer: " + sPrinterName);
DocPrintJob job = psZebra.createPrintJob();
// Prepare string to send to the printer
String s = "<STX>L<CR>"; // Print content of buffer, 1 label
// String s="oooooooo";
byte[] by = s.getBytes();
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet() ;
MediaSizeName m = MediaSizeName.PERSONAL_ENVELOPE;
pras.add(m);
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
System.out.println(flavor.getMimeType());
//MIME type = "application/octet-stream";
//print data representation class name = "[B" (byte array).
System.out.println("Before callling ************");
Doc doc = new SimpleDoc(by, flavor, null);
System.out.println("Ready to print");
System.out.println(doc.getPrintData()+"---------");
job.print(doc, pras);
*/
}
}
we are using.. argox printer