import java.io.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintImage{
public PrintImage(String filename){
try{
//获得打印属性
PrintRequestAttributeSet prass=new HashPrintRequestAtteributeSet();
prass.add(new Copies(1));
//获得打印设备
PrintService pss[]=PrintServerLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF,prass);
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();
FileInputStream fin=new FileInputSTream(filename);
Doc doc=new SimpleDoc(fin,DocFlavor.INPUT_STREAM.GIF,null);
//开始打印
job.print(doc,prass);
fin.close();
}catch(IOException ie){
ie.printStackTrace();
}catch(PrintException pe){
pe.printStackTrace();
}
}
public static void main(String args[]) throws Exception{
if(args.length<1){
System.err.println("Usage:java PrintImage<image name>");
System.exit(1);
}
new PrintImage(args[0]);
}
}