Module java.desktop
Package javax.print

Class StreamPrintServiceFactory

java.lang.Object
javax.print.StreamPrintServiceFactory

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

这个类由一个服务实现,并通过使用ServiceLoader工具来定位。

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

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

  • Constructor Details

    • StreamPrintServiceFactory

      protected StreamPrintServiceFactory()
      子类调用的构造函数。
  • Method Details

    • 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指定的格式