模块 java.desktop

类 StreamPrintServiceFactory

java.lang.Object
javax.print.StreamPrintServiceFactory

public abstract class StreamPrintServiceFactory extends Object
StreamPrintServiceFactoryStreamPrintService 实例的工厂,它可以以描述为 mime 类型的特定文档格式打印到输出流。典型的输出文档格式可以是 Postscript TM 。

此类由服务实现,并由使用 ServiceLoader 设施的实现定位。

应用程序通过调用 lookupStreamPrintServiceFactories(DocFlavor, String) 方法来定位此类的实例。

应用程序可以使用从工厂获得的 StreamPrintService 代替代表物理打印机设备的 PrintService

  • 构造方法详细信息

    • StreamPrintServiceFactory

      protected StreamPrintServiceFactory()
      子类调用的构造方法。
  • 方法详情

    • lookupStreamPrintServiceFactories

      public static StreamPrintServiceFactory [] lookupStreamPrintServiceFactories(DocFlavor  flavor, String  outputMimeType)
      定位打印服务的工厂,这些打印服务可用于打印作业,以 outputMimeType 指定的格式输出数据流。

      outputMimeType 参数描述了您要创建的文档类型,而 flavor 参数描述了应用程序向 StreamPrintService 提供输入数据的格式。

      尽管 null 是用于查找流打印服务的可接受值,但通常用于搜索特定的所需格式,例如 Postscript(TM)。

      参数:
      flavor - 输入文档类型 - null 表示匹配所有类型
      outputMimeType - 代表所需的输出格式,用于识别合适的流式打印机工厂。 null 的值表示匹配所有格式。
      返回:
      匹配流打印服务实例的工厂,如果找不到合适的工厂则为空
    • getOutputFormat

      public abstract String  getOutputFormat()
      向工厂查询从该工厂获得的打印机发出的文档格式。
      返回:
      描述为 MIME 类型的输出格式
    • getSupportedDocFlavors

      public abstract DocFlavor [] getSupportedDocFlavors()
      向工厂查询从该工厂获得的打印机可以接受的文档风格。
      返回:
      支持的文档风格数组
    • getPrintService

      public abstract StreamPrintService  getPrintService(OutputStream  out)
      返回一个可以打印到指定输出流的StreamPrintService。输出流由应用程序创建和管理。关闭流并确保此 Printer 不被重用是应用程序的责任。在从打印机创建的任何打印作业完成之前,应用程序不应关闭此流。较早执行此操作可能会生成一个 PrinterException 和一个指示作业失败的事件。

      连接到物理打印机的 PrintService 可以重复使用,而连接到流的 StreamPrintService 则不能。在从 DocPrintJobprint 方法返回之前,打印系统可以使用 dispose 方法处理底层 StreamPrintService,以便打印系统知道此打印机不再可用。这相当于一台物理打印机永久脱机。应用程序可以提供一个null打印流来创建一个可查询的服务。为这样的流创建 PrintJob 是无效的。在构建时分配资源的实现应该检查流,并且可能希望仅在流为 non-null 时分配资源。

      参数:
      out - 生成输出的目标流
      返回:
      一个 PrintService 将生成由该工厂支持的 DocFlavor 指定的格式