| 接口 | 描述 | 
|---|---|
| AttributeException |  
          Interface AttributeException是一个mixin接口,  PrintException可以实现一个子类来报告一个特定Print Service实例不支持的一个或多个打印属性的错误条件。 | 
| CancelablePrintJob | 
           此接口由打印应用程序用于取消打印作业。 
          | 
| Doc | 
           Interface Doc指定为打印作业提供一张打印数据的对象的界面。 
          | 
| DocPrintJob | 
           此接口表示可以使用一组作业属性打印指定文档的打印作业。 
          | 
| FlavorException |  
          接口FlavorException是一个mixin接口,  PrintException可以实现一个子类来报告涉及到一个文档风格或风格(类别DocFlavor)的错误状态。 | 
| MultiDoc | 
           界面MultiDoc指定为打印作业提供多个打印数据的对象的接口。 
          | 
| MultiDocPrintJob | 
           从MultiDocPrintService获取,MultiDocPrintJob可以将指定的文档集合打印为具有一组作业属性的单个打印作业。 
          | 
| MultiDocPrintService | 
           Interface MultiPrintService是MultiDocPrintJob的工厂。 
          | 
| PrintService | 
           Interface PrintService是DocPrintJob的工厂。 
          | 
| URIException |  
          接口URIException是一个mixin接口,  PrintException可以实现一个子类来报告涉及URI地址的错误条件。 | 
| 类 | 描述 | 
|---|---|
| DocFlavor |  
          类 DocFlavor封装了一个对象,它指定在其中的打印数据被提供给一个格式DocPrintJob。 | 
| DocFlavor.BYTE_ARRAY | 
           DocFlavor.BYTE_ARRAY类提供了预定义的静态常量DocFlavor对象,例如使用字节数组( 
           byte[])作为打印数据表示类的doc风格。 | 
| DocFlavor.CHAR_ARRAY | 
           DocFlavor.CHAR_ARRAY类提供了预定义的静态常量DocFlavor对象,例如使用字符数组( 
           char[])作为打印数据表示类的doc风格。 | 
| DocFlavor.INPUT_STREAM |  
          DocFlavor.INPUT_STREAM类提供了预定义的静态常量DocFlavor对象,例如使用字节流(  java.io.InputStream)作为打印数据表示类的doc风格。 | 
| DocFlavor.READER |  
          DocFlavor.READER类提供了预定义的静态常量DocFlavor对象,例如使用字符流(  java.io.Reader)作为打印数据表示类的doc风格。 | 
| DocFlavor.SERVICE_FORMATTED | 
           DocFlavor.SERVICE_FORMATTED类提供了预定义的静态常量DocFlavor对象,例如用于服务格式化打印数据的doc风格。 
          | 
| DocFlavor.STRING |  
          DocFlavor.STRING类提供了预定义的静态常量DocFlavor对象,例如使用字符串(  java.lang.String)作为打印数据表示类的doc风格。 | 
| DocFlavor.URL | 
           DocFlavor.URL类提供了预定义的静态常量DocFlavor对象。 
          | 
| PrintServiceLookup | 
           该类的实现为特定类型的打印服务(通常相当于打印机)提供查找服务。 
          | 
| ServiceUI | 
           该类是UI便利方法的集合,其提供用于浏览通过Java Print Service API查找的打印服务的图形用户对话框。 
          | 
| ServiceUIFactory | 
           服务可以可选地提供UI,其允许不同角色的不同风格的交互。 
          | 
| SimpleDoc | 
           该类是可以在许多常见打印请求中使用的接口 
           Doc实现。 | 
| StreamPrintService |  
          该类扩展了 PrintService,代表一种以不同格式将数据打印到客户端提供的输出流的打印服务。 | 
| StreamPrintServiceFactory |  
          A  StreamPrintServiceFactory是StreamPrintService实例的工厂,可以以描述为MIME类型的特定文档格式打印到输出流。 | 
| 异常 | 描述 | 
|---|---|
| PrintException | 
           PrintException类封装了在使用Print Service实例时发生的与打印相关的错误条件。 
          | 
 应用程序调用抽象类PrintServiceLookup的静态方法来定位具有满足应用程序打印请求功能的打印服务。 例如,要打印双面文档,应用程序首先需要查找具有双面打印功能的打印机。 
 JDK包括可以定位标准平台打印机的PrintServiceLookup实现。 要找到其他类型的打印机,如IPP打印机或JINI打印机,打印服务提供商可以编写PrintServiceLookup的PrintServiceLookup 。 打印服务提供商可以使用SPI JAR file specification动态安装这些PrintServiceLookup 实现 。 
javax.print.attribute和javax.print.attribute.standard软件包定义了打印属性,它们描述打印服务的功能,指定打印作业的要求,并跟踪打印作业的进度。 
     javax.print.attribute包描述了属性的类型以及如何将它们收集到集合中。 javax.print.attribute.standard包枚举了API支持的所有标准属性,其中大多数是2000年9月的IETF规范RFC 2911 Internet Printing Protocol, 1.1: Model and Semantics中指定的属性的实现。javax.print.attribute.standard中javax.print.attribute.standard包括常见功能,例如:分辨率,副本,媒体大小,作业优先级和页面范围。 
DocFlavor类表示打印数据格式,如JPEG或PostScript。 
    DocFlavor对象由描述格式的MIME类型和指示文档如何传递到打印机或输出流的文档表示类名称组成。 
    应用程序使用DocFlavor和属性集来查找可以打印由DocFlavor的文档类型并具有属性集指定的功能的打印机。 
    DocFlavor 。 DocFlavor和属性集指定的打印请求的打印服务。 DocFlavor和实际打印数据的Doc对象,可以采取多种形式,包括:Postscript文件,JPEG图像,URL或纯文本。 DocPrintJob表示的打印作业。  
     
FileInputStream psStream;
try {
   psStream = new FileInputStream("file.ps");
} catch (FileNotFoundException ffne) {
}
if (psStream == null) {
    return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);  
PrintRequestAttributeSet aset = 
        new HashPrintRequestAttributeSet();
aset.add(new Copies(5));
aset.add(MediaSize.A4);
aset.add(Sides.DUPLEX);
PrintService[] services = 
  PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length > 0) {
   DocPrintJob job = services[0].createPrintJob();
   try {
        job.print(myDoc, aset);
   } catch (PrintException pe) {}
}
 
     
    请注意:在javax.print API中,方法的空参考参数是不正确的,除非在方法中明确记录为具有有意义的解释。 使用相反的是错误的编码,可能会立即或稍后导致运行时异常。 IllegalArgumentException和NullPointerException是这种情况的典型和可接受的运行时间异常的示例。
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.