|
|||||||||
软件包 javax.print
为 JavaTM Print Service API 提供了主要类和接口。请参见:
描述
接口摘要 | |
---|---|
AttributeException | 接口 AttributeException 是一个混合接口,PrintException 的子类可实现该接口以报告涉及一个或多个打印属性的错误条件,特定的 Print Service 实例不支持该条件。 |
CancelablePrintJob | 打印应用程序使用此接口来取消打印作业。 |
Doc | 接口 Doc 指定某个对象的接口,该接口为 PrintJob 提供部分打印数据。 |
DocPrintJob | 此接口表示了一个可使用作业属性集打印指定文档的打印作业。 |
FlavorException | 接口 FlavorException 是一个混合接口,PrintException 的子类可实现它来报告有关某个 DocFlavor 或多个 DocFlavor(类 DocFlavor )的错误状况。 |
MultiDoc | 接口 MultiDoc 指定某个对象的接口,该对象为 PrintJob 提供多部分打印数据。 |
MultiDocPrintJob | 从 MultiDocPrintService 中获得,MultiDocPrintJob 可使用作业属性集以单个 PrintJob 的形式打印指定的文档集合。 |
MultiDocPrintService | 接口 MultiPrintService 是 MultiDocPrintJob 的工厂。 |
PrintService | 接口 PrintService 是 DocPrintJob 的工厂。 |
URIException | 接口 URIException 是一个混合接口,PrintException 的子类可实现它来报告有关 RUI 地址的错误状况。 |
类摘要 | |
---|---|
DocFlavor | 类 DocFlavor 封装了一个对象,该对象指定提供给 DocPrintJob 的打印数据的格式。 |
DocFlavor.BYTE_ARRAY | 类 DocFlavor.BYTE_ARRAY 提供了预定义的静态常量 DocFlavor 对象,例如使用 byte 数组 (byte[] ) 作为打印数据表示形式类的 DocFlavor。 |
DocFlavor.CHAR_ARRAY | 类 DocFlavor.CHAR_ARRAY 提供了预定义的静态常量 DocFlavor 对象,例如使用字符数组 (char[] ) 作为打印数据表示形式类的 DocFlavor。 |
DocFlavor.INPUT_STREAM | 类 DocFlavor.INPUT_STREAM 提供了预定义的静态常量 DocFlavor 对象,例如使用 byte 流 ( ) 作为打印数据表示形式类的 DocFlavor。 |
DocFlavor.READER | 类 DocFlavor.READER 提供了预定义的静态常量 DocFlavor 对象,例如使用字符流 ( ) 作为打印数据表示形式类的 DocFlavor。 |
DocFlavor.SERVICE_FORMATTED | 类 DocFlavor.SERVICE_FORMATTED 提供了预定义的静态常量 DocFlavor 对象,例如用于服务格式化打印数据的 DocFlavor。 |
DocFlavor.STRING | 类 DocFlavor.STRING 提供了预定义的静态常量 DocFlavor 对象,例如使用字符串 ( ) 作为打印数据表示形式类的 DocFlavor。 |
DocFlavor.URL | 类 DocFlavor.URL 提供了预定义的静态常量 DocFlavor 对象。 |
PrintServiceLookup | 此类的实现为特定类型的 PrintService(通常等效于打印机)提供查找服务。 |
ServiceUI | 此类是各种 UI 便捷方法的集合,这些方法为浏览那些通过 Java Print Service API 所查找的 PrintService 提供了图形用户对话框。 |
ServiceUIFactory | 服务可以可选地提供 UI,这些 UI 允许以不同的角色进行不同风格的交互。 |
SimpleDoc | 此类是接口 Doc 的实现,可用于很多常见的打印请求中。 |
StreamPrintService | 此类扩展了 PrintService 并表示这样一种 PrintService,即以不同的格式向客户端提供的输出流打印数据。 |
StreamPrintServiceFactory | StreamPrintServiceFactory 是 StreamPrintService 实例的工厂,StreamPrintService 可以 mime 类型所描述的特定文档格式向输出流中打印数据。 |
异常摘要 | |
---|---|
PrintException | 类 PrintException 封装了与打印有关的错误状况,此状况在使用 PrintService 实例时会发生。 |
软件包 javax.print 的描述
为 JavaTM Print Service API 提供了主要类和接口。Java Print Service API 允许客户端和服务器应用程序具备如下功能:
- 根据其性能发现并选择 PrintService。
- 指定打印数据的格式。
- 向支持所打印文档类型的服务提交 PrintJob。
PrintService 发现
应用程序可调用抽象类 PrintServiceLookup
的静态方法来查找 PrintService,这些 PrintService 具有满足应用程序打印要求的功能。例如,要打印双面文档,应用程序首先需要找到具有双面打印功能的打印机。
JDK 包括的 PrintServiceLookup
实现可查找标准的平台打印机。要查找其他类型的打印机(如 IPP 打印机或 JINI 打印机),PrintService 提供程序可写入 PrintServiceLookup
实现。PrintService 提供程序可使用《SPI JAR file specification》动态地安装这些 PrintServiceLookup
实现。
属性定义
javax.print.attribute
和 javax.print.attribute.standard
包定义了打印属性,这些属性描述了 PrintService 的功能、指定 PrintJob 的要求并跟踪 PrintJob 的进度。
javax.print.attribute
包描述了属性类型和属性分类方法。javax.print.attribute.standard
包枚举了 API 所支持的所有标准属性,其中大多数是在 IETF 规范《RFC 2911 Internet Printing Protocol, 1.1:Model and Semantics》(2000 年 9 月)中所指定的属性实现。javax.print.attribute.standard
中指定的属性包括常见的功能,如:分辨率、份数、介质大小、作业优先级和页面范围。
文档类型规范
DocFlavor
类表示了打印数据的格式,如 JPEG 或 PostScript。DocFlavor
对象由 MIME 类型(描述了格式)和文档表示形式类名(指示如何将文档发送到打印机或输出流)所组成。应用程序使用 DocFlavor
和属性集来查找某些打印机,这些打印机可打印由 DocFlavor
所指定的文档类型且具有属性集所指定的功能。
使用 API
典型的应用程序使用 Java Print Service API 执行以下步骤来处理打印请求:- 选择一个
DocFlavor
。 - 创建一个属性集。
- 找到一个可处理由
DocFlavor
和属性集所指定的打印请求的 PrintService。 - 创建一个
Doc
对象,该对象封装DocFlavor
和实际的打印数据,这些打印数据可采用很多形式,包括:Postscript 文件、JPEG 图像、URL 或纯文本。 - 从 PrintService 获得一个由
DocPrintJob
表示的 PrintJob。 - 调用 PrintJob 的 print 方法。
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 中,只有在方法中显式记录传递给方法的 null 引用参数具有有意义的解释时,该参数才是正确的。否则就是错误的编码方式,并且可能立即或在稍后某时导致运行时异常。IllegalArgumentException 和 NullPointerException 是典型的异常示例,并且是这种情况可接受的运行时异常。
- 从以下版本开始:
- 1.4
所有类
|
|||||||||