java打印技术---javax.print

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]);

                      }

         }

                                

原文地址:https://www.cnblogs.com/zhouzetian/p/8567956.html